sql >> Database >  >> RDS >> Sqlserver

Verschil tussen compileerfouten en runtime-fouten in SQL Server?

compileerfouten treden op tijdens het genereren van een uitvoeringsplan. Runtime-fouten treden op wanneer het plan wordt gegenereerd en wordt uitgevoerd.

De enige manier om onderscheid te maken tussen de twee is of een plan AFAIK wordt gegenereerd.

Voorbeelden

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

De laatste 2 geven exact dezelfde fout, ook al is de ene een compile-time-fout en de andere een runtime-fout.




  1. Opgeslagen procedure, tabelnaam doorgeven als parameter

  2. Gegevens van de ene tabel in de andere invoegen in MySQL

  3. Hoe gegevens uit meerdere tabellen verwijderen?

  4. mysql krijg verschil in plaats van SUM