此处不允许Oracle列默认值

千库

问题是关于使用第4行上的序列的DEFAULT值。

    CREATE OR REPLACE SEQUENCE CHANNEL_SEQ START WITH 1 INCREMENT BY 1;

    CREATE TABLE "CHANNEL" (  
    "ID_CHANNEL" NUMBER(18,0) DEFAULT CHANNEL_SEQ.NEXTVAL,  
    "IS_ACTIVE" VARCHAR2(1 CHAR) NOT NULL,  
    "BATCH_SIZE" NUMBER(3,0) NOT NULL,
    "MAX_DOCS_IN_PROCESS" NUMBER(4,0) NOT NULL,
    "RECEIVER_ID" NUMBER(18,0) NOT NULL,
    "LAST_POS_SESSION_TIME" DATE,
     CONSTRAINT "PK_CHANNEL" PRIMARY KEY ("ID_CHANNEL"),
     CONSTRAINT "FK_RECEIVER_ID_CHANNEL" FOREIGN KEY ("RECEIVER_ID") REFERENCES   "MSG_OUT"("MSG_OUT_ID"),
     CONSTRAINT "CHK_IS_ACTIVE" CHECK (IS_ACTIVE IN ('Y', 'N'))
   );

错误消息是:

“ SQL错误:ORA-00984:此处不允许使用列”

欢迎所有帮助和提示。

塔蒂亚娜

您不能将其seq.NEXTVAL用作默认值。

为此(自动填充),您应该创建触发器,例如

CREATE OT REPLACE TRIGGER 
BEFORE INSERT 
ON CHANNEL
FOR EACH ROW
BEGIN
:NEW.ID_CHANNEL:=CHANNEL_SEQ.NEXTVAL;
END;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

此处不允许使用oracle列

oracle,sql代码,此处不允许使用列

此处不允许列多列上的 Oracle SQL

此处不允许的列错误

尝试替换列时,Oracle SQL错误“ ORA-00984:此处不允许列”

INSERT INTO 得到“Oracle SQL Developer 错误 - 此处不允许列”

由于值的长度,不允许 Oracle 修改列

为什么C ++不允许将函数参数用作默认值?

Vue.js Datepicker不允许更新输入字段的默认值

django TypedChoiceField-不允许默认值为0

不允许将表达式作为字段默认值(根据情况)

此处不允许线程“主”映射值中的异常

与 jinja 模板相关的“ScannerError:此处不允许映射值”

Yaml无效:此处不允许使用映射值

Yaml错误-此处不允许使用映射值

Oracle SQL:不允许使用列

WAMP中的“此处不允许AllowOverride”

此处不允许注释-Intellij

错误:此处不允许解析对象

此处不允许元素TextViewCompat

此处不允许变量声明

抛出Oracle SQL,ORA:此处不允许使用组函数

docker-compose yaml-此处不允许使用映射值

进行软件包获取时出现Flutter“此处不允许映射值”错误

PyYAML在我的单元测试中显示“ ScannerError:此处不允许映射值”

Docker-Compose文件具有yaml.scanner.ScannerError:此处不允许映射值

Docker-compose yaml.scanner.ScannerError:此处不允许映射值

此处不允许映射值。你之前错过了冒号吗?

如何修复 yaml 错误:此处不允许使用块映射值