sql >> Databáze >  >> RDS >> Sqlserver

Rozdíl mezi chybami kompilace a chybami za běhu v SQL Server?

během procesu generování prováděcího plánu dochází k chybám kompilace. Při generování a provádění plánu dochází k chybám za běhu.

Jediný způsob, jak mezi nimi rozlišit, je, zda je plán generován AFAIK.

Příklady

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

Poslední 2 vyvolávají přesně stejnou chybu, i když jedna je chyba při kompilaci a druhá chyba při běhu.




  1. PostgreSQL now() a letní čas

  2. Předávání operátorů SQL dotazu prostřednictvím parametru iReport

  3. ORACLE SQL Rozsah hodin

  4. SQL:Aktualizace řádku a vrácení hodnoty sloupce pomocí 1 dotazu