Oracle sql脚本未运行
下面是一个sql脚本的代码片段,它给了我一个错误,我必须在表的主键上生成一个序列,而不使用oracle中的触发器:Oracle sql脚本未运行,oracle,sequence,Oracle,Sequence,下面是一个sql脚本的代码片段,它给了我一个错误,我必须在表的主键上生成一个序列,而不使用oracle中的触发器: CREATE SEQUENCE t1_seq START WITH 1 INCREMENT BY 1; DROP TABLE CPR_SOURCE_SYSTEM_METADATA; CREATE TABLE CPR_SOURCE_SYSTEM_METADATA ( SYSTEM_ID NUMBER(4) NOT NULL t1_seq.nex
CREATE SEQUENCE t1_seq START WITH 1 INCREMENT BY 1;
DROP TABLE CPR_SOURCE_SYSTEM_METADATA;
CREATE TABLE CPR_SOURCE_SYSTEM_METADATA
(
SYSTEM_ID NUMBER(4) NOT NULL t1_seq.nextval,
SYSTEM_NAME VARCHAR2(200),
DATE_FORMAT VARCHAR2(200),
CREATED_BY VARCHAR2(200),
MODIFIED_BY VARCHAR2(200),
CREATED_ON NUMBER(20),
MODIFIED_ON NUMBER(20),
IS_DELETED VARCHAR2(1),
CONSTRAINT "CPR_SOURCE_SYSTEM_PK" PRIMARY KEY ("SYSTEM_ID")
);
它给了我以下错误:
删除表CPR\u源\u系统\u元数据
*第1行错误:ORA-00942:表或视图不存在
系统ID号(4)不为空t1,
*第3行错误:ORA-00907:缺少右括号
无法找出错误,有人能帮忙吗
SYSTEM_ID NUMBER(4) NOT NULL t1_seq.nextval,
t1_seq.nextval
段无效-不能指定这样的自动递增列
SQL解析器希望看到:
SYSTEM_ID NUMBER(4) NOT NULL,
并抛出异常,因为逗号不是它期望的位置
在Oracle 12c中,您可以使用,但在早期版本中,您需要:
t1_seq.nextval
段无效-不能指定这样的自动递增列
SQL解析器希望看到:
SYSTEM_ID NUMBER(4) NOT NULL,
并抛出异常,因为逗号不是它期望的位置
在Oracle 12c中,您可以使用,但在早期版本中,您需要:
不能在创建表中直接指定序列名称。在Oracle 12c中,还可以声明标识列。对于所有其他版本,您可以使用触发器。请参阅可能的重复项,这意味着我们不需要专门创建任何序列?在12c中,如果您希望使用显式创建的序列,而不是标识,可以使用默认的sequence.nextval。在这种情况下,
系统ID号(4)不为空默认t1\u seq.nextval
。不能在创建表中直接指定序列名称。在Oracle 12c中,还可以声明标识列。对于所有其他版本,您可以使用触发器。请参阅可能的重复项,这意味着我们不需要专门创建任何序列?在12c中,如果您希望使用显式创建的序列,而不是标识,可以使用默认的sequence.nextval。在这种情况下,系统ID号(4)不为空默认t1\u seq.nextval
。