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

Известен проблем?:Съхранената процедура на SQL Server 2005 не успява да завърши с параметър

Опитайте да маскирате входния параметър.

Предполагам, че прекомпилирането не работи поради указаното по подразбиране (РЕДАКТИРАНЕ :Или параметър, изпратен при първо повикване), който се надушва по време на компилиране. Така че прекомпилирането няма ефект.

Виждал съм огромна разлика между прогнозните планове просто като промених стойността по подразбиране от, да кажем, нула на NULL или нямах такава.

ALTER PROCEDURE [usp_debug_mightwork]
    @DATA_DT_ID AS int = 20081130
AS
BEGIN
    DECLARE @IDATA_DT_ID AS int
    SET @IDATA_DT_ID = @DATA_DT_ID
    -- Stuff here that depends on IDATA_DT_ID
END

Мисля, че тази статия обяснява...

РЕДАКТИРАНЕ:

Нова връзка към планове и параметри на заявки . Параметърът все още проверява дали е посочена стойност по подразбиране или не.

Вид свързана статия за константи и планове



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да направя вложена замяна на стойности от друга таблица?

  2. Тактика за нормализиране на SQL Server:varchar срещу int идентичност

  3. Как да конвертирате от един формат за дата в друг в SQL Server с помощта на CONVERT()

  4. Съкратете всички таблици в база данни в SQL Server - SQL Server / TSQL урок, част 55

  5. Актуализирайте статистиката на SQL Server с помощта на план за поддръжка на база данни