Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Różnica między błędami kompilacji a błędami czasu wykonywania w programie SQL Server?

błędy kompilacji występują podczas procesu generowania planu wykonania. Błędy czasu wykonania występują podczas generowania i wykonywania planu.

Jedynym sposobem na rozróżnienie między nimi jest to, czy plan jest generowany AFAIK.

Przykłady

/*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

Ostatnie 2 wywołują dokładnie ten sam błąd, nawet jeśli jeden jest błędem w czasie kompilacji, a drugi w czasie wykonywania.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zrobić LEWE SEMI JOIN w SQL Server

  2. ATN2() Przykłady w SQL Server

  3. Jak przechwycić dane wyjściowe instrukcji DBCC w pokusie?

  4. 3 sposoby korzystania z ALL w SQL Server

  5. Jak mogę dołączyć kolumnę XML z powrotem do rekordu, z którego pochodzi?