ORACLE创建触发器的问题

下面是在SQLSERVER中创建的触发器
CREATE TRIGGER [dbo].[TRI_CUP_UPDATE_DEL]
ON [dbo].[cup]
AFTER UPDATE,DELETE
AS
BEGIN

declare @name1 varchar(1000)
declare @name2 varchar(1000)
select @name1=MARK from deleted

select @name2=MARK from inserted

if(@name1=@name2 or (@name2 is null and @name1 is not null))
begin
update cup set mark='0' where id in (SELECT id FROM DELETED)
end
END
比如:当前表cup的某条记录被更新或者删除时(此条记录的id为1,id不是主键,也没有唯一约束),本表id为1 的所有记录的mark字段的值都变为0;
问题:
在oracle中怎么创建一个触发器,实现同样的功能。
谢谢各位大佬!

2个回答

CREATE OR REPLACE TRIGGER TRI_CUP_UPDATE_DEL AFTER UPDATE ON CUP FOR EACH ROW
BEGIN
update cup set mark='0' where cup.id=:old.id;
update cup set mark='0' where cup.id=:new.id;
END;
/

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!