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

SQL TRY-CATCH и липсващите колони

На въпрос (b) е по-лесно да се отговори - това, пред което се изправяте, е проверка по време на компилиране, която надделява над TRY-CATCH, които работят по време на изпълнение.

За (а)

DECLARE @L_ID_FOO_BAR INT;
DECLARE @SQL NVARCHAR(MAX) = '
  SELECT @L_ID_FOO_BAR = IDFOO 
  FROM BAR
  WHERE IDFOO = 5';

BEGIN TRY
  EXEC sp_executesql @SQL, N'@L_ID_FOO_BAR INT output', @L_ID_FOO_BAR output;
END TRY
BEGIN CATCH
  SELECT @L_ID_FOO_BAR = NULL -- redundant? it starts with NULL
END CATCH


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да коригирате „Невалидно име на обект „OPENJSON“.“ в SQL Server

  2. Деклариране на променлива за низ на заявка

  3. Как да напиша UPDATE SQL с псевдоним на таблица в SQL Server 2008?

  4. Множество редове в един ред и комбиниране на колона SQL

  5. Производителност на SQL сървър TOP CPU заявка -1