“创建的触发器带有编译错误”是怎么回事?
计划创建一个触发器。
建表:
create Table intel.T_Test(
Test_ID int not null,
STUNAME VARCHAR2(20),
SCHOOL VARCHAR2(40),
primary key (Test_ID)
);
创建自增序列:
CREATE SEQUENCE intel.test_seq
INCREMENT BY 1
START WITH 1
MAXVALUE 9999999;
创建触发器(设表的自增列为Id):
CREATE OR REPLACE TRIGGER intel.seq_trigger
BEFORE INSERT ON intel.T_Test
FOR EACH ROW
DECLARE
Test_ID number;
BEGIN
SELECT test_seq.nextval INTO Test_ID FROM intel.T_Test;
:NEW.ID:=Test_ID;
END seq_trigger;
说明一下,这里的intel是表空间。
在创建触发器时出现错误:警告:创建的触发器带有编译错误。
于是到网上搜索,有些大虾提示说:加一句show error; 看看具体是什么错误。
于是我加了,还只是提示:警告:创建的触发器带有编译错误。后来我发现错误具体在:NEW.ID:=Test_ID;这一句,但是到底该怎么该呢?我使用的数据库系统是oracle 10g, 操作系统是Win xp sp2.
------解决方案--------------------!