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

Sự khác biệt giữa lỗi biên dịch và lỗi thời gian chạy trong SQL Server?

lỗi biên dịch xảy ra trong quá trình tạo kế hoạch thực thi. Lỗi thời gian chạy xảy ra khi kế hoạch được tạo và đang được thực thi.

Cách duy nhất để phân biệt giữa hai điều này là liệu một kế hoạch có được tạo AFAIK hay không.

Ví dụ

/*Parse Error*/
SELEC * FROM master..spt_values

GO

/*Bind Error*/
SELECT * FROM master..spt_values_

GO


/*Compile time - constant folding error*/
SELECT LOG(0)
FROM master..spt_values

GO

/*Runtime Error*/
DECLARE @Val int = 0
SELECT  LOG(@Val)
FROM master..spt_values

2 lỗi cuối cùng phát sinh chính xác cùng một lỗi mặc dù một lỗi là lỗi thời gian biên dịch và lỗi còn lại là lỗi thời gian chạy.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thay thế ký tự đầu tiên và ký tự cuối cùng của cột trong máy chủ sql?

  2. Tùy chỉnh cảnh báo đám mây Spotlight

  3. Có ảnh hưởng nghiêm trọng đến hiệu suất khi sử dụng Khóa ngoại trong SQL Server không?

  4. Mili giây trong DateTime của tôi thay đổi khi được lưu trữ trong SQL Server

  5. Logic có điều kiện trong tập lệnh PostDeployment.sql sử dụng SQLCMD