Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL TRY-CATCH i brakujące kolumny

Pytanie (b) jest łatwiejsze do odpowiedzi - masz do czynienia z kontrolą w czasie kompilacji, która przebija TRY-CATCH działający w czasie wykonywania.

Dla (a)

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. Audyt zmian danych SQL Server

  2. ROUND() Przykłady w SQL Server

  3. Wymień, które kolumny mają indeks pełnotekstowy w SQL Server 2005

  4. Co to jest literał znaku zerowego w TSQL?

  5. Obsługuj wiele wyników z procedury składowanej za pomocą SqlQuery