sql server 触发器 mysql_SQL server编写的触发器,用MySQL怎么编写?

本文介绍了一个SQL Server的触发器,并探讨如何将其转换为MySQL语法。触发器用于在用户表更新后调整用户权限,当用户部门ID改变时,删除旧的权限并赋予新部门的权限。转换过程中涉及对Deleted和Inserted表的操作,以及在MySQL中实现类似逻辑的方法。
摘要由CSDN通过智能技术生成

ALTERTRIGGER[UserUpdate]ON[dbo].[tblUser]AFTERUPDATEAS--@oldRoleId表示Deleted表的部门ID,@newRoleId表示Inserted表的部门IDDECLARE@oldRoleIdint,@newRoleIdint--@oldUserId表示...

ALTER TRIGGER [UserUpdate]

ON [dbo].[tblUser]

AFTER UPDATE

AS

--@oldRoleId表示Deleted表的部门ID,@newRoleId表示Inserted表的部门ID

DECLARE @oldRoleId int ,@newRoleId int

--@oldUserId表示Deleted表的用户ID,@newUserId表示Inserted表的用户ID

DECLARE @oldUserId int ,@newUserId int

--给以上变量赋值

SELECT @oldRoleId=intRole,@oldUserId=intUserID FROM DELETED

SELECT @newRoleId=intRole,@newUserId=intUserID FROM INSERTED

--如果修改用户信息前跟修改用户信息后的部门ID不一样,则表明确实修改了此用户的部门ID

IF (@oldRoleId!=@newRoleId)

BEGIN

--SELECT intUserAndProgramID,intUserID,intProgramID

--FROM dbo.UserAndProgram

--WHERE intUserID=@newUserId

--先删除之前拥有的权限

DELETE FROM dbo.UserAndProgram WHERE intUserID=@newUserId

--再重新给该用户给新部门的权限

INSERT INTO dbo.UserAndProgram(intUserID,intProgramID)

SELECT @newUserId,intProgramID FROM dbo.tblRoleAndProgram WHERE role_id=@newRoleId

END

以上SQL是SQL server的语法 编写的一个触发器

用MySQL的语法该怎么写?

我怎么写 都错 - -

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值