MSSQL
--建立站存DB
Create Table #testDb
( id int,
name nvarchar(50)
)
--輸入一筆資料
INSERT INTO #testDb (id ,name) VALUES (1 ,N'TreeName01')
SELECT * FROM #testDb --查看現在狀態:共1筆資料
--交易開始--
BEGIN TRY
BEGIN TRAN
--程式碼異常不會執行--開始--
INSERT INTO #testDb (id ,name) VALUES (2 ,N'TreeName02')
SELECT * FROM #testDb --查看現在狀態:成功寫入一筆資料:共2筆資料
INSERT INTO #testDb (id ,name) VALUES ('A' ,N'TreeName0A')--錯誤寫入失敗
SELECT * FROM #testDb --查看現在狀態:前面錯誤此行不會執行
--程式碼異常不會執行--結束--
COMMIT TRAN
END TRY
--交易結束--
--交易異常執行開始--
BEGIN CATCH
ROLLBACK TRAN --恢復
SELECT ERROR_NUMBER() AS ErrorNumber --回傳錯誤資訊
END CATCH
--交易異常執行結束--
SELECT * FROM #testDb --查看現在狀態:還原交易:共1筆資料
--清除暫存
IF OBJECT_ID('tempdb..[#testDb]') IS NOT NULL
DROP TABLE #testDb
我只是一棵樹