这个问题在这里已经有了答案:
How to create id with AUTO_INCREMENT on Oracle?
(17 个回答)
2年前关闭。
我在 SQL
中创建表格时遇到了这个问题,
CREATE TABLE Worker
(
WORKER_ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
FIRST_NAME CHAR(25),
LAST_NAME CHAR(25),
SALARY INT(15),
JOINING_DATE DATETIME,
DEPARTMENT CHAR(25)
);
面对错误
"ORA-00907: missing right parenthesis"
你能帮忙吗?
我已经修改了查询并多次重新运行它仍然收到此错误。
最佳答案
AUTO_INCREMENT
不是 Oracle 中的关键字,并且在 oracle 12c 之前在 oracle 中没有这样的概念。
在 甲骨文 12c , 引入新概念,即IDENTITY
列。
此外,DATETIME 不是 oracle 中的有效数据类型。请参阅以下示例中的内联注释。
您可以根据您的情况创建所需的表( Oracle 12 或更高版本 ):
SQL> CREATE TABLE Worker 2 ( 3 WORKER_ID INT GENERATED BY DEFAULT ON NULL AS IDENTITY, 4 FIRST_NAME CHAR(25), 5 LAST_NAME CHAR(25), 6 SALARY INT, 7 -- JOINING_DATE DATETIME, datetime is not a data type in oracle 8 JOINING_DATE DATE, -- date stores date and time both the component 9 DEPARTMENT CHAR(25) 10 ); Table created. SQL>
干杯!!
关于sql - ORA-00907 : missing right parenthesis (While Creating the Table),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59098803/