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.