【发布时间】:2020-06-29 03:15:30
【问题描述】:
我不熟悉 Oracle,正在测试旧版本所需的自动递增触发器,其中 IDENTITY 尚不可用。
CREATE TABLE stuff (
id int PRIMARY KEY,
data varchar(255)
);
CREATE SEQUENCE stuff_sequence;
CREATE TRIGGER test
BEFORE INSERT ON stuff
FOR EACH ROW
BEGIN
SELECT stuff_sequence.nextval INTO :new.id FROM dual;
END;
INSERT INTO stuff(data) VALUES('test');
使用 SQL Developer,我可以运行 CREATE TABLE 语句,然后运行 CREATE SEQUENCE 语句,但是当我运行 CREATE TRIGGER 语句时,它也会突出显示 INSERT 语句,然后抱怨 `Encountered符号“插入”。显然,如果我尝试将全部内容作为单个脚本运行,我会得到同样的错误。
这里发生了什么,我该如何解决?
【问题讨论】:
标签: oracle oracle-sqldeveloper database-trigger