SQL> create or replace trigger TCREATER
2 before insert on why
3 for each row
4 declare
6 begin
7 :new.who := user;
8 end;
9 /
2 before insert on why
3 for each row
4 declare
6 begin
7 :new.who := user;
8 end;
9 /
2 before insert on why
3 for each row
4 declare
5 begin
6 :new.who:=user;
7 end;
8 /警告: 创建的触发器带有编译错误。SQL> show error;
TRIGGER TCHREATER 出现错误:LINE/COL ERROR
-------- --------------------------------------------
3/1 PLS-00049: 错误的赋值变量 'NEW.WHO'
为什么老提示说错误的赋值变量‘NEW.WHO’?
create or replace trigger TCHREATER
before insert on why
for each row
declare
aa why.who%type;
begin
aa:=:new.who;
end;
/
2 before insert on why
3 for each row
4 declare
5 aa why.who%type;
6 begin
7 aa:=:new.who;
8 end;
9 /警告: 创建的触发器带有编译错误。SQL> show error;
TRIGGER TCHREATER 出现错误:LINE/COL ERROR
-------- ------------------------------------------
4/7 PLS-00049: 错误的赋值变量 'NEW.WHO'
SQL>
看看有没有这个表,有没有字段who
old和new不能被傳遞給接受triggering_table%rowtype類型的參數的過程或函數。
before insert on why
for each row
begin
:new.who:=user;
end;
本人幸运的地找到了问题的所在,
哈哈。。自己太蠢了,没办法。。
我在pd中建模型生成 表后,生成的字段都被加上了引号,
所以一定要用小写的,而我在写触发器的时候,
已经去掉了引号,便默认为了大写,
造成了不匹配,所以老提示错误。
但现在的问题是,我怎么样才能让他在pd生成表的时候,
不要给字段加上引号?????谢谢了。。