• MS SQL的存储过程


    -- =============================================
    -- Author: 
    -- Create date: 2016-07-01
    -- Description:	注册信息
    -- =============================================
    ALTER PROCEDURE  [dbo].[sp_MebUser_Register]
    	( 
    	@UserType INT, 
    	@MobileNumber VARCHAR(11), 
    	@MobileCode VARCHAR(50), 
    	@LoginPwd VARCHAR(50), 
    	@PayPwd VARCHAR(50),  
    	@PlateNumber VARCHAR(20), 
    	@UserTrueName VARCHAR(20), 
    	@UserIDCardNumber VARCHAR(50), 
    	@UserSex bit, 
    	@AddTime DATETIME, 
    	@Max_ParkUserId    VARCHAR(20)   output--输入输出参数
    	)
    AS
    --IF EXISTS(SELECT * FROM Meb_User WHERE MobileNumber=@MobileNumber)--先判断用户是否存在
       
      declare  @datenow  varchar(100)  --声明变量 时间
      declare  @rt_code int
      declare  @VCOUNT int
      declare @returnmesg varchar(100)
    BEGIN
        
        set @datenow=(Select CONVERT(varchar(100), GETDATE(), 112)) --变量赋值
    	set @Max_ParkUserId=@datenow+@MobileNumber --时间+手机号=用户服务号
    set  @VCOUNT=(SELECT COUNT(1)  FROM Meb_User mb WHERE mb.MobileNumber=@MobileNumber) 
      if (@VCOUNT>0)
       BEGIN
       set @returnmesg ='该手机号已注册'
       RETURN  set @rt_code=1
       END
       else
       BEGIN
    --SET NOCOUNT ON; 
    --当SET NOCOUNT 为ON 时,不返回计数(计数表示受Transact-SQL 语句影响的行数,例如在Sql server查询分析器中执行一个delete操作后,下方窗口会提示()Rows Affected)。当  SET NOCOUNT 为OFF 时,返回计数,我们应该在存储过程的头部加上SET NOCOUNT ON 这样的话,在退出存储过程的时候加上SET NOCOUNT OFF这样的话,以达到优化存储过程的目的。
    begin transaction
     begin try
       insert into Meb_User (UserType,MobileNumber,MobileCode,LoginPwd,PayPwd,PlateNumber,UserTrueName,UserIDCardNumber,UserSex,AddTime,ParkUserId)
     values(@UserType,@MobileNumber,@MobileCode,@LoginPwd,@PayPwd,@PlateNumber,@UserTrueName,@UserIDCardNumber,@UserSex,@AddTime,@Max_ParkUserId)
    
    commit transaction
      set @rt_code=0;
    
      return;
    
     end try 
    
     begin catch
    
     print '错误'
    
     rollback transaction
      
     end catch
     END
       
    END
    

    很久没使用MSSQL了 最近新的项目需求记录一下点滴。

  • 相关阅读:
    POJ 1673
    POJ 1375
    POJ 1654
    POJ 1039
    POJ 1066
    UVA 10159
    POJ 1410
    POJ 2653
    POJ 2398
    POJ 1556
  • 原文地址:https://www.cnblogs.com/Warmsunshine/p/5718786.html
Copyright © 2020-2023  润新知