我在尝试编译以下触发器时遇到此错误:
CREATE OR REPLACE TRIGGER INCREMENTER_ID_CONSISTANCE
BEFORE INSERT ON BD.CONSISTANCE
for each row
BEGIN
:new.code := ID_CONSISTANCE.nextval;
END;
**ERROR** : Table,View Or Sequence reference 'ID_CONSISTANCE.nextval' not allowed in
this context
这里有什么问题?我该如何解决这个问题?
最佳答案
此语法仅在 Oracle 11 或更高版本中允许。
(不受支持和过时的)9i 版本不支持直接分配序列值。
您需要改用select into
:
select ID_CONSISTANCE.nextval
into :new.code
FROM dual;
而且您应该真的计划升级到当前版本的 Oracle(11.x 或 12.x)
关于sql - 在此上下文中不允许表、 View 或序列引用 'SEQUENCE.NEXTVAL',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22507964/