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

SQL:Try / Catch không gặp lỗi khi cố gắng truy cập vào một bảng mà nó không thể tìm thấy

Khi bắt đầu tập lệnh của bạn, hãy sử dụng SET XACT_ABORT

SET XACT_ABORT ON

Tôi không nghĩ điều đó sẽ khả thi:

Tham khảo .

USE AdventureWorks2012;
GO

BEGIN TRY
    -- Table does not exist; object name resolution
    -- error not caught.
    SELECT * FROM NonexistentTable;
END TRY
BEGIN CATCH
    SELECT 
        ERROR_NUMBER() AS ErrorNumber
        ,ERROR_MESSAGE() AS ErrorMessage;
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 Thay thế lệnh bằng WIldcard

  2. Hàm tổng hợp MIN và MAX trong SQL Server

  3. LIKE và NULL trong mệnh đề WHERE trong SQL

  4. Cách vô hiệu hóa ràng buộc khóa ngoại trong SQL Server (Ví dụ T-SQL)

  5. Triển khai cte bắt buộc cho dữ liệu phân cấp