sql >> Databasteknik >  >> RDS >> Sqlserver

SQL TRY-CATCH och de saknade kolumnerna

Fråga (b) är lättare att besvara - det du står inför där är en kompileringstidskontroll, som övertrumfar TRY-CATCH som fungerar under körning.

För (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. En översikt av MariaDB Xpand (tidigare ClustrixDB)

  2. Ruby on Rails 3 Kan inte ansluta till lokal MySQL-server via sockeln '/tmp/mysql.sock' på OSX

  3. java.sql.SQLEundantag:ORA-00904

  4. Postgres pg_dump dumpar databasen i en annan ordning varje gång