Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

TSQL:Thử bắt giao dịch trong trình kích hoạt

Theo kinh nghiệm của tôi, bất kỳ lỗi nào mắc phải trong một lần thử bắt trong trình kích hoạt sẽ khôi phục toàn bộ giao dịch; bạn có thể sử dụng một giao dịch tiết kiệm. Tôi nghĩ bạn cần xem xét điều gì đang xảy ra trong "Some more sql" và xác định xem bạn có thể viết câu lệnh case / if xung quanh nó để ngăn lỗi không.

Những gì bạn có thể làm tùy thuộc vào những gì bạn đang làm là sử dụng lưu giao dịch và nắm bắt thông tin đó

Trong mã của bạn một cái gì đó như thế này

SAVE TRANSACTION BeforeUpdate;
BEGIN TRY
        --Some More SQL
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION BeforeUpdate;
        return
END CATCH


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008:xóa các hàng trùng lặp

  2. SQL Server Thay đổi tên cơ sở dữ liệu

  3. bất kỳ giới hạn nào về số lượng kết nối SQL Server?

  4. Nhiều câu lệnh chọn trong thủ tục được lưu trữ để có được kết quả mong muốn

  5. SQL Server:nhiều chỉ mục cho hiệu suất các cột giống nhau