--TRY,CATCH 示例
BEGIN TRY
SELECT 1/0
AS val;
END TRY
BEGIN CATCH
--返回错误号码
SELECT
ERROR_NUMBER() AS ErrorNumber;
--错误描述
SELECT
ERROR_MESSAGE() AS ErrorMessage;
END CATCH
GO
--TRY,CATCH结合事物 示例
BEGIN TRY
BEGIN
TRANSACTION
ALTER TABLE
Test_Table DROP COLUMN bbb;
COMMIT
TRANSACTION;
END TRY
BEGIN CATCH
ROLLBACK
TRANSACTION;
SELECT
ERROR_NUMBER() AS ErrorNumber;
SELECT
ERROR_MESSAGE() AS ErrorMessage;
END CATCH
GO
--TRY,CATCH结合事物和存储过程 示例
ALTER procedure [dbo].[de]
AS
BEGIN
BEGIN TRY
BEGIN
TRANSACTION;
ALTER TABLE
Test_Table DROP COLUMN bbb;
COMMIT
TRANSACTION;
END TRY
BEGIN CATCH
ROLLBACK
TRANSACTION;
SELECT
ERROR_NUMBER() AS ErrorNumber;
SELECT
ERROR_MESSAGE() AS ErrorMessage;
END CATCH
END
--调用存储过程也可以写为:dbo.de
EXEC de;
GO