sql >> Database teknologi >  >> RDS >> Sqlserver

SQL TRY-CATCH og de manglende kolonner

Spørgsmål (b) er nemmere at besvare - det, du står over for der, er en kompileringstidskontrol, som overtrumfer TRY-CATCH, som virker under kørslen.

For (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. Hvordan viser man værdien af ​​en variabel på kommandolinjen i MySQL?

  2. Sådan opretter du job i SQL Server Express-udgaven

  3. Udpak nøgle, værdi fra json-objekter i Postgres

  4. Hvilken datatype skal bruges til hashed kodeordsfelt og hvilken længde?