22. 2. 2023
CREATE PROCEDURE xxx AS
SET XACT_ABORT, NOCOUNT ON
BEGIN TRY
BEGIN TRANSACTION
PRINT CONVERT(NVARCHAR(100),GetDate(),120) + N' BEGIN TRANSACTION ';
/* Code goes here*/
COMMIT TRANSACTION
PRINT CONVERT(NVARCHAR(100),GetDate(),120) + N' COMMIT TRANSACTION ';
END TRY
BEGIN CATCH
IF @@trancount > 0 ROLLBACK TRANSACTION
PRINT CONVERT(NVARCHAR(100),GetDate(),120) + N' ROLLBACK TRANSACTION ';
;THROW
DECLARE
@ErMessage NVARCHAR(2048),
@ErSeverity INT,
@ErState INT
SELECT
@ErMessage = ERROR_MESSAGE(),
@ErSeverity = ERROR_SEVERITY(),
@ErState = ERROR_STATE()
RAISERROR (@ErMessage,
@ErSeverity,
@ErState )
--RETURN 55555
END CATCH
GO