M Mao2002 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-08 #1 我在触发器中写了 :NEW.a:=12; :New.b:=13; 测试执行时总是报错。 单用任一条均可,请问有什么办法可以作到同时更新两个字段! (在线恭候!)
沙 沙隆巴斯的主人 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-08 #2 我在ORACLE的BEFORE触发器里经常用和你一样的方式更新多条纪录的,一切正常 你再检查下是不是其他地方错了
M Mao2002 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-08 #3 我用的是这样的方式: CREATE TRIGGER myTg BEFORE INSERT OR UPDATE ON MyTable FOR EACH ROW To 沙隆巴斯的主人:[blue]我的意思是每条记录同时更新它的两个字段a,b;[/blue] [red]“单用任一条均可”啊?! [/red]
我用的是这样的方式: CREATE TRIGGER myTg BEFORE INSERT OR UPDATE ON MyTable FOR EACH ROW To 沙隆巴斯的主人:[blue]我的意思是每条记录同时更新它的两个字段a,b;[/blue] [red]“单用任一条均可”啊?! [/red]
沙 沙隆巴斯的主人 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-08 #4 我写了段测试脚本,通过了的,你再看看问题出在哪,我相信是其他原因 create table test1 (c1 number(4), c2 number(4), c3 number(4) ); CREATE or replace TRIGGER trg_bef_ins_test1 BEFORE INSERT ON test1 FOR EACH ROW begin :new.c2 := :new.c1 +1; :new.c3 := :new.c1 -1; end; / insert into test1 (c1) values (5); select * from test1;
我写了段测试脚本,通过了的,你再看看问题出在哪,我相信是其他原因 create table test1 (c1 number(4), c2 number(4), c3 number(4) ); CREATE or replace TRIGGER trg_bef_ins_test1 BEFORE INSERT ON test1 FOR EACH ROW begin :new.c2 := :new.c1 +1; :new.c3 := :new.c1 -1; end; / insert into test1 (c1) values (5); select * from test1;
L liusm Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-08 #5 :NEW.a:=12; go :New.b:=13; go
磊 磊 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-08 #7 问题是不是处出在你的 OR UPDATE上? 如果只写INSERT是不是就对了?
沙 沙隆巴斯的主人 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-08 #8 我后来把脚本改了,加上了OR UPDATE子句,依然一切OK
Z zxb200 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-08 #10 試一下觸發器開始更新數據前加上 SET NOCOUNT ON 更新數據后加上 SET NOCOUNT OFF
P Pipi. Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-08 #11 报告什么错误呢?把错误代码写出来。 或者是编译错误的话,马上执行 show error ,把错误贴出来
M Mao2002 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-09 #12 错误代码如下: ORA-04098: 触发器 'SPE_SCSB_ADMIN.TRG_BEF_INS_TEST1' 无效且未通过重新确认
M Mao2002 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-09 #13 []OK了,不是这些问题,呵呵:) 增加、修改触发器后必须关闭数据库,再打开才行!! 谢谢各位。