ALTER PROCEDURE dbo.CM_DEPARTMENT_Upd @p_DEP_ID varchar(15) = null , @p_DEP_CODE varchar(15) = NULL , @p_DEP_NAME nvarchar(200) = NULL , @p_DAO_CODE varchar(40) = NULL , @p_DAO_NAME nvarchar(500) = NULL , @p_BRANCH_ID varchar(15) = NULL , @p_GROUP_ID varchar(15) = NULL , @p_TEL varchar(20) = NULL , @p_NOTES nvarchar(1000) = NULL , @p_RECORD_STATUS varchar(1) = NULL , @p_MAKER_ID varchar(12) = NULL , @p_CREATE_DT VARCHAR(20) = NULL, @p_AUTH_STATUS varchar(50) = NULL , @p_CHECKER_ID varchar(12) = NULL , @p_APPROVE_DT VARCHAR(20) = NULL, @p_FATHER_ID VARCHAR(15) = NULL, @p_KHOI_ID VARCHAR(20)=NULL AS --Validation is here DECLARE @ERRORSYS NVARCHAR(15) = '' IF ( NOT EXISTS ( SELECT * FROM CM_DEPARTMENT WHERE DEP_ID = @p_DEP_ID)) SET @ERRORSYS = '' IF @ERRORSYS <> '' BEGIN SELECT ErrorCode Result, '' ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS RETURN '0' END BEGIN TRANSACTION UPDATE CM_DEPARTMENT SET [DEP_CODE] = @p_DEP_CODE,[DEP_NAME] = @p_DEP_NAME, [DAO_CODE] = @p_DAO_CODE,[DAO_NAME] = @p_DAO_NAME,[BRANCH_ID] = @p_BRANCH_ID,[GROUP_ID] = @p_GROUP_ID, [TEL] = @p_TEL,[NOTES] = @p_NOTES,[RECORD_STATUS] = @p_RECORD_STATUS,[KHOI_ID]=@p_KHOI_ID, [MAKER_ID] = @p_MAKER_ID,[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),[AUTH_STATUS] = @p_AUTH_STATUS, [CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103), [FATHER_ID] = @p_FATHER_ID WHERE DEP_ID= @p_DEP_ID IF @@Error <> 0 GOTO ABORT COMMIT TRANSACTION SELECT '0' as Result, @p_DEP_ID ID, '' ErrorDesc RETURN '0' ABORT: BEGIN ROLLBACK TRANSACTION SELECT '-1' as Result, '' ID, '' ErrorDesc RETURN '-1' End