gpt4 book ai didi

sql - 我的 Oracle TRIGGER 出了什么问题?

转载 作者:搜寻专家 更新时间:2023-10-30 22:12:29 25 4
gpt4 key购买 nike

我创建了一个这样的序列:

CREATE Sequence index START WITH 1000;

我的触发代码如下所示:

CREATE OR REPLACE TRIGGER user BEFORE INSERT ON CUSTOMERS
FOR EACH ROW
BEGIN
SELECT index.nextval INTO :new.custid FROM DUAL;
END User;

我不断收到“创建触发器时出现编译错误”消息,但我的其余代码可以正常工作。我忽略了什么?错误说“遇到了符号“INSERT””

最佳答案

我怀疑 Oracle 可能在提示,因为 USER 是 Oracle 中的保留字。 INDEX 也是如此。

因此,首先,我建议尝试使用非保留字的标识符进行测试,并验证您在同一/当前模式中是否有一个名为 CUSTOMERS 的表,并且它包含一个名为 CUSTID 的列。

(这也极有可能是权限问题,但如果您没有 CREATE TRIGGER 权限,那么 Oracle 就不会报告“已创建触发器...”。

如果我们确实发现有必要使用保留字作为对象标识符,我们可以将标识符括在双引号中,但这也会使标识符区分大小写。

关于sql - 我的 Oracle TRIGGER 出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23096691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com