正如错误所暗示的那样,month
(和year
也是Teradata中的保留关键字,不能用作列名。
您可以将其双引号(但随后在每个查询中也必须双引号)或更改名称。还有一个问题,primary key
约束前缺少逗号:
CREATE TABLE calendar
(
CalendarKey INT NOT NULL,FullDate DATE NOT NULL,DayOfWeek VARCHAR(20) NOT NULL,DayOfMonth INT NOT NULL,"Month" VARCHAR(20) NOT NULL,Qtr VARCHAR(2) NOT NULL,"Year" VARCHAR(4) NOT NULL,PRIMARY KEY (CalendarKey)
);
,
尝试这种方式
#include <bits/stdc++.h>
和
CREATE TABLE calendar (
CalendarKey INT NOT NULL,Month VARCHAR(20) NOT NULL,Year VARCHAR(4) NOT NULL
)
,
尝试此操作,以将带有PK的表作为表定义的一部分
CREATE TABLE calendar
(
CalendarKey INT PRIMARY KEY NOT NULL,[DayOfWeek] VARCHAR(20) NOT NULL,[DayOfMonth] INT NOT NULL,[Month] VARCHAR(20) NOT NULL,[Year] VARCHAR(4) NOT NULL
);
或者具有主键PK和标识[自动计数器]
CREATE TABLE calendar
(
CalendarKey INT PRIMARY KEY Identity(1,1) NOT NULL,[Year] VARCHAR(4) NOT NULL
);
-注意,如果col名称是保留关键字(例如[year]
),建议使用prackets []
本文链接:https://www.f2er.com/3141619.html