• aspnet_Roles_CreateRole


    ALTER  PROCEDURE dbo.aspnet_Roles_CreateRole  --创建角色
        @ApplicationName  NVARCHAR(256),
        
    @RoleName         NVARCHAR(256)
    AS
    BEGIN
        
    DECLARE @ApplicationId UNIQUEIDENTIFIER
        
    SELECT  @ApplicationId = NULL

        
    DECLARE @ErrorCode     INT
        
    SET @ErrorCode = 0

        
    DECLARE @TranStarted   BIT
        
    SET @TranStarted = 0

        
    IF@@TRANCOUNT = 0 ) --如果当前活动事务为0,开始事务并设置事务参数为1
        BEGIN
            
    BEGIN TRANSACTION
            
    SET @TranStarted = 1
        
    END
        
    ELSE
            
    SET @TranStarted = 0

        
    EXEC dbo.aspnet_Applications_CreateApplication @ApplicationName@ApplicationId OUTPUT
             
    /*根据输入参数执行存储过程返回@ApplicationId,目的应该就是这个*/
        
    IF@@ERROR <> 0 )--如果有错误则跳转到回滚段
        BEGIN
            
    SET @ErrorCode = -1
            
    GOTO Cleanup
        
    END
         
        
    IF (EXISTS(SELECT RoleId FROM dbo.aspnet_Roles WHERE LoweredRoleName = LOWER(@RoleNameAND ApplicationId = @ApplicationId))
          
    /*如果存在此角色返回错误代码1,并跳转到回滚段*/
        
    BEGIN
            
    SET @ErrorCode = 1
            
    GOTO Cleanup
        
    END

        
    INSERT INTO dbo.aspnet_Roles
                    (ApplicationId, RoleName, LoweredRoleName)
             
    VALUES (@ApplicationId@RoleNameLOWER(@RoleName))
          
    --不存在就插入此记录
        IF@@ERROR <> 0 ) ---有错误就回滚(还是跳转)
        BEGIN
            
    SET @ErrorCode = -1
            
    GOTO Cleanup
        
    END

        
    IF@TranStarted = 1 ) --如果事物执行到这里,且事务参数没变
        BEGIN
            
    SET @TranStarted = 0  --重新设置事务参数为0
            COMMIT TRANSACTION    --结束事务
        END

        
    RETURN(0)

    Cleanup:   
    ---跳转段

        
    IF@TranStarted = 1 )
        
    BEGIN
            
    SET @TranStarted = 0
            
    ROLLBACK TRANSACTION
        
    END

        
    RETURN @ErrorCode

    END
  • 相关阅读:
    PHP 载入图像 imagecreatefrom_gif_jpeg_png 系列函数
    PHP 输出图像 imagegif 、imagejpeg 与 imagepng 函数
    php实现等比例不失真缩放上传图片
    PHP开发框架--CodeIgniter(CI)使用总结
    将Centos的yum源更换为国内的阿里云源
    开始投资的活动条件是什么
    复利效应 每天进步一点点到底指的是什么?
    你拥有的最宝贵的财富是什么?
    自律真的可以改变人生
    chpasswd-批量修改用户密码
  • 原文地址:https://www.cnblogs.com/ruanbl/p/491902.html
Copyright © 2020-2023  润新知