MYBLOG

欢迎来到小马哥的个人博客~

[原创]Sql Server 存储过程随笔

2020-03-08学海无涯

-- =============================================
-- Author:		 <Mlx>
-- Create date: <2017-09-03>
-- Description: <创建用户>
-- Return value:<-2:账户名已存在、-1:余额不足、0、创建失败、1、创建成功>
-- =============================================
CREATE PROCEDURE [dbo].[Proc_Create_User]
		@User_Details NVARCHAR(1000)=''  --备注信息
AS
 IF(@User_RegTime IS NULL)
        SET @User_RegTime=GETDATE()
BEGIN
	BEGIN TRAN Tran_CreateUser		--开始事务	
	DECLARE @UserId BIGINT=0
	DECLARE @Tran_Error INT= 0			--错号编号
	DECLARE @Result INT=0	--结果
	DECLARE @Blance DECIMAL(18, 5)=0 --当前账户余额
	BEGIN TRY 
		SET @Result=1
	END TRY
	BEGIN CATCH
		--PRINT '出现异常,错误编号:' + convert(varchar,error_number()) + ',错误消息:' + error_message()
		SET @Tran_Error = @Tran_Error + 1
	END CATCH
	
	IF(@Tran_Error > 0)
    BEGIN
        --执行出错,回滚事务
        ROLLBACK TRAN;
        --PRINT '操作失败,取消!';
        RETURN @Result
    END
	ELSE
    BEGIN
        --没有异常,提交事务
        COMMIT TRAN;
        --PRINT '操作成功!';
        RETURN @Result
    END
END