日历
CREATE TABLE CALENDAR
(
CalendarKey int NOT NULL PRIMARY KEY,
Date DATE DEFAULT (SYSDATE),
DayofWeek VARCHAR2(50) NOT NULL,
DayofMonth VARCHAR2(50) NOT NULL,
DayofYear VARCHAR2(50) NOT NULL,
WeekofMonth VARCHAR2(50) NOT NULL,
WeekofYear VARCHAR2(50) NOT NULL,
Month MONTH DEFAULT (SYSMONTH),
Year YEAR DEFAULT (SYSYEAR)
);此代码导致错误:

错误报告-
ORA-00904::无效标识符
00904。00000 - "%s:无效标识符“
*原因:
*行动:
没有发现任何错误,请帮助。
发布于 2020-10-06 18:35:24
SQL> create table calendar
2 (calendarkey int constraint pk_cal primary key,
3 datum date default (sysdate),
4 dayofweek varchar2(50) not null,
5 dayofmonth varchar2(50) not null,
6 dayofyear varchar2(50) not null,
7 weekofmonth varchar2(50) not null,
8 weekofyear varchar2(50) not null,
9 month number(2) default extract (month from sysdate),
10 year number(4) default extract (year from sysdate)
11 );
Table created.
SQL>那么,你做错了什么(连同其他笔记):
quotes)
date,因为它是为数据类型名称保留的(实际上,您可以这样做,但您不应该这样做--通过将其名称封装在双NOT NULL )。此外,在甲骨文中将所有constraintssysmonth或sysyear也是一个好习惯,但是--如果我做对了--您可以使用sysdate提取这些值(月份和年份)https://stackoverflow.com/questions/64231416
复制相似问题