sql >> Database teknologi >  >> RDS >> Sqlserver

Forskellen mellem kompileringsfejl og kørselsfejl i SQL Server?

kompileringsfejl opstår under processen med at generere en eksekveringsplan. Køretidsfejl opstår, når planen genereres og udføres.

Den eneste måde at skelne mellem de to er, om en plan er genereret AFAIK eller ej.

Eksempler

/*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 sidste 2 giver nøjagtig den samme fejl, selvom den ene er en kompileringstidsfejl og den anden en køretidsfejl.




  1. Vælg de bedste resultater sorteret efter frekvens

  2. Lagring af en fil i postgres ved hjælp af node-postgres

  3. MySQL hvordan udfylder man manglende datoer inden for rækkevidde?

  4. MySQL tilføjer join sænker hele forespørgslen