【发布时间】:2016-08-22 16:19:41
【问题描述】:
在 Oracle 11g 中创建自动增量触发器时遇到问题。如果有人能指出我做错了什么,我将不胜感激。我的序列脚本是这样的:
CREATE SEQUENCE SPSS_QUOTE_LINE_ITEMS_SEQ start with 1
increment by 1
minvalue 1;
触发器的脚本:
CREATE OR REPLACE TRIGGER SPSSQUOTELINEITEMS_ON_INSERT
BEFORE INSERT ON SPSS_QUOTE_LINE_ITEMS
FOR EACH ROW
BEGIN
SELECT SPSS_QUOTE_LINE_ITEMS_SEQ.NEXTVAL
INTO :new.line_num
FROM dual;
END;
我得到的错误: [代码:900,SQL 状态:42000] ORA-00900:无效的 SQL 语句
非常感谢。
【问题讨论】:
-
你用的是什么客户端?
-
为什么不直接使用
:new.line_num := SPSS_QUOTE_LINE_ITEMS_SEQ.NEXTVAL;而不是select ... from dual; -
@Codo,我尝试使用建议,但是当我在脚本末尾添加 / 时,我收到另一个错误,显示 [代码:17439,SQL 状态:99999] SQL 类型无效: sqlKind = 未初始化。
-
@sstan,我正在使用 DBVisualizer
标签: oracle oracle11g dbvisualizer