一段sql代码

本文介绍了一个SQL存储过程,用于更新用户的新闻管理权限,包括删除报告权限和添加用户权限,并通过事务确保数据的一致性和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IF EXISTS(SELECT * FROM sysobjects WHERE name='proc_news_update')
DROP PROCEDURE proc_news_update
GO
CREATE PROCEDURE proc_news_update
                 @IsAdmin varchar(10)='0',
     @DeleteReport varchar(10)='0',
                 @AddUser varchar(10)='0',
     @user_name varchar(30)
 AS
        BEGIN TRAN
   DECLARE @err INT
   SET @err=0
   IF(@IsAdmin=null)
    BEGIN
     SET @IsAdmin='0'
    END 
   IF(@DeleteReport=null)
    BEGIN
     SET @DeleteReport='0'
    END
   IF(@DeleteReport=null)
    BEGIN
     SET @AddUser='0'
    END
   UPDATE news_user_table SET deleteReport=CONVERT(INT,@DeleteReport),addUser=CONVERT(INT,@AddUser) WHERE userName=@user_name
   SET @err=@@ERROR
   IF(@err<>0)
    BEGIN
     ROLLBACK TRAN
    END
   ELSE
    BEGIN
     DECLARE @A INT
     SET @A=(SELECT userID FROM news_admin_table AS a INNER JOIN news_uer_table AS b ON a.userID=b.userID WHERE userName=@user_name)
     UPDATE news_admin_table SET IsAdmin=CONVERT(INT,@DeleteReport) WHERE userID=@A
     SET @err=@@ERROR
     IF(@err<>0)
      BEGIN
       ROLLBACK TRAN
      END
     ELSE
      BEGIN
       COMMIT TRAN
      END
    END
GO
   
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值