qq_35416254
兰得糊涂YE
采纳率0%
2018-11-21 08:41 阅读 793

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条回答 默认 最新

  • zqbnqsdsmd zqbnqsdsmd 2018-11-21 13:41
    点赞 评论 复制链接分享
  • weixin_43827745 月半杰 2018-11-30 09:26

    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;
    /

    点赞 评论 复制链接分享

相关推荐