-- =============================================
-- 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 intdeclare @VCOUNT intdeclare @returnmesg varchar(100)
BEGINset @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)BEGINset @returnmesg ='该手机号已注册'RETURN set @rt_code=1ENDelseBEGIN
--SET NOCOUNT ON;
--当SET NOCOUNT 为ON 时,不返回计数(计数表示受Transact-SQL 语句影响的行数,例如在Sql server查询分析器中执行一个delete操作后,下方窗口会提示()Rows Affected)。当 SET NOCOUNT 为OFF 时,返回计数,我们应该在存储过程的头部加上SET NOCOUNT ON 这样的话,在退出存储过程的时候加上SET NOCOUNT OFF这样的话,以达到优化存储过程的目的。
begin transactionbegin tryinsert 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 transactionset @rt_code=0;return;end try begin catchprint '错误'rollback transactionend catchENDEND
很久没使用MSSQL了 最近新的项目需求记录一下点滴。