# 執行多段指令時方便除錯的方法 ( Ex. 一次匯入幾萬筆 ) ## 語法 ``` BEGIN TRANSACTION INSERT INTO [Order Details] (OrderID,ProductID,UnitPrice,Quantity,Discount) VALUES('11078','11','14.00','10','0') INSERT INTO [Order Details] (OrderID,ProductID,UnitPrice,Quantity,Discount) VALUES('11078','1111111111111111111111111111111111111','14.00','10','0') INSERT INTO [Order Details] (OrderID,ProductID,UnitPrice,Quantity,Discount) VALUES('11078','12','14.00','10','0') COMMIT TRANSACTION END TRY BEGIN CATCH ROLLBACK TRANSACTION --在執行完後去SELECT錯誤資訊 SELECT --SELECT錯誤代碼 ERROR_NUMBER() AS ErrorNumber --SELECT錯誤行數 ,ERROR_LINE() AS ErrorLine --SELECT錯誤訊息 ,ERROR_MESSAGE() AS ErrorMessage; END CATCH ``` ## 有錯的結果 ( 不會匯入任何資料 ) ![](https://i.imgur.com/pXXdxGL.png) ## 因為可以看到 ErrorLine ( 錯誤的行數 ) 記得打開顯示行號的功能去快速找到哦 ![](https://i.imgur.com/C8uIH5x.png) [資料來源-[筆記][MSSQL]執行多段指令時(2) - 發生錯誤後的除錯方式](https://ithelp.ithome.com.tw/articles/10190296)