Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Разлика между грешки при компилиране и грешки по време на изпълнение в SQL Server?

възникват грешки при компилиране по време на процеса на генериране на план за изпълнение. Грешки по време на изпълнение възникват, когато планът е генериран и се изпълнява.

Единственият начин за разграничаване между двете е дали планът е генериран или не AFAIK.

Примери

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

Последните 2 предизвикват абсолютно същата грешка, въпреки че едната е грешка по време на компилиране, а другата грешка по време на изпълнение.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Експортиране на данни от SQL Server Express в CSV (необходими са кавички и екраниране)

  2. SQL Server прехвърля varchar към int

  3. Изпробвайте тези най-добри практики за наблюдение на база данни на MySQL

  4. Използвайте променлива с TOP в оператора select в SQL Server, без да го правите динамичен

  5. Пълзяща средна стойност на прозореца в sql сървър