ALTER PROCEDURE [dbo].[TL_USER_Upd] @p_TLNANME varchar(15) = null , @p_TLID varchar(15) = NULL , @p_Password varchar(50) = NULL , @p_TLFullName nvarchar(200) = NULL , @p_TLSUBBRID varchar(15) = NULL , @p_BRANCH_NAME nvarchar(200) = NULL , @p_BRANCH_TYPE varchar(5) = NULL , @p_RoleName varchar(255) = NULL , @p_EMAIL varchar(50) = NULL , @p_ADDRESS varchar(100) = NULL , @p_PHONE varchar(15) = NULL , @p_AUTH_STATUS varchar(1) = NULL , @p_MARKER_ID varchar(12) = NULL , @p_AUTH_ID varchar(12) = NULL , @p_APPROVE_DT VARCHAR(20) = NULL, @p_ISAPPROVE varchar(1) = NULL , @p_Birthday VARCHAR(20) = NULL, @p_ISFIRSTTIME varchar(1) = NULL , @p_SECUR_CODE varchar(50) = NULL AS --Validation is here DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( NOT EXISTS ( SELECT * FROM TL_USER WHERE TLID = @p_TLID)) SET @ERRORSYS = 'USER-0002' IF ( EXISTS ( SELECT * FROM TL_USER WHERE [TLNANME] = @p_TLNANME AND TLID <> @p_TLID)) BEGIN SET @ERRORSYS = 'USER-0001' SELECT ErrorCode Result, '' TLID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, '' TLID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END BEGIN TRANSACTION SET @p_BRANCH_NAME = (SELECT BRANCH_NAME FROM CM_BRANCH WHERE BRANCH_ID = @p_TLSUBBRID) UPDATE TL_USER SET [Password] = @p_Password,[TLFullName] = @p_TLFullName,[TLSUBBRID] = @p_TLSUBBRID,[BRANCH_NAME] = @p_BRANCH_NAME,[BRANCH_TYPE] = @p_BRANCH_TYPE,[RoleName] = @p_RoleName,[EMAIL] = @p_EMAIL,[ADDRESS] = @p_ADDRESS,[PHONE] = @p_PHONE,[AUTH_STATUS] = @p_AUTH_STATUS,[MARKER_ID] = @p_MARKER_ID,[AUTH_ID] = @p_AUTH_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103),[ISAPPROVE] = @p_ISAPPROVE,[Birthday] = CONVERT(DATETIME, @p_Birthday, 103),[ISFIRSTTIME] = @p_ISFIRSTTIME,[SECUR_CODE] = @p_SECUR_CODE, TLNANME = @p_TLNANME WHERE TLID= @p_TLID IF @@Error <> 0 GOTO ABORT COMMIT TRANSACTION SELECT '0' as Result, @p_TLNANME TLNANME, '' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' TLNANME, '' ErrorDesc RETURN '-1' End