oracle创建自动增长列出错 Warning: Trigger created with compilation errors

SQL> CREATE OR REPLACE TRIGGER BeforeTestCreate2Insert

2 BEFORE INSERT ON test_create_tab2

3 FOR EACH ROW

4 BEGIN

5 SELECT test_sequence2.nextval INTO :new.id FROM dual;

6 END;

7 /

Trigger created.

上面这个是一个编译通过的, 能够正常运行的例子.

你那里 的 declare 后面,没有定义任何变量, 可以去掉.

还有

select QM_ORDER_SECRETARY_S

要修改为 select QM_ORDER_SECRETARY_S.nextval

还有

n.ORDER_SECRETARYfrom dual

不知道是不是排版的问题, 应该是

n.ORDER_SECRETARY from dual

也就是 n.ORDER_SECRETARY 和 from 之间,应该有一个空格.