题目要求:在Employees表中建立删除触发器tr_deleteE,该触发器在删除Employees表中的记录时触发,
删除Employees表中的数据时,要求不是真的删除了,而仅仅是修改DelTag属性的值为T,
因为instead of 触发器不能建立在表上,所以我建了视图 Employee
下面是我的代码:
CREATE OR REPLACE TRIGGER TR_DELETEE
instead of delete on Employee
for each row
begin
update Employee
set DelTag='T'
where Eno=:old.Eno;
end;
oracle 用的比较少,帮不上忙了。
CREATE OR REPLACE TRIGGER TR_DELETEE on Employee
instead of delete
as
begin
rollback transaction
update Employee
set DelTag='T'
where Eno=:old.Eno;
end;
where 条件明确点不就可以了。!
例如:
declare @id int
select @id=id from deleted
update Employee
set DelTag='T'
where id=@id