# 執行多段指令時方便除錯的方法 ( 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
```
## 有錯的結果 ( 不會匯入任何資料 )

## 因為可以看到 ErrorLine ( 錯誤的行數 ) 記得打開顯示行號的功能去快速找到哦

[資料來源-[筆記][MSSQL]執行多段指令時(2) - 發生錯誤後的除錯方式](https://ithelp.ithome.com.tw/articles/10190296)