Student_View是一个视图,从多表联合查找得到。为了通过其进行修改数据,我写了一个instead of 触发器。如下,但是我发现insert和update都能正确执行,但是再delete时,似乎语句已经执行,但是修改没有提交。在外部用 commit也不行。但是触发器不能用commit的啊,不知道该如何解决。
Create or Replace Trigger DML_Student_View
instead of insert or update or delete
on Student_View
for each row
Declare
insDid department.did%Type;
Begin
IF Inserting Then ……
elsif updating Then ……
else
delete from student where sid = :new.sid;
dbms_output.put_line('delete sucessfull Here!');--用这个测试发现执行了,但是没提交修改。
End if;
End;
Create or Replace Trigger DML_Student_View
instead of insert or update or delete
on Student_View
for each row
Declare
insDid department.did%Type;
Begin
IF Inserting Then ……
elsif updating Then ……
else
delete from student where sid = :new.sid;
dbms_output.put_line('delete sucessfull Here!');--用这个测试发现执行了,但是没提交修改。
End if;
End;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货