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;