Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

SQL TRY-CATCH dan kolom yang hilang

Pertanyaan (b) lebih mudah dijawab - apa yang Anda hadapi adalah pemeriksaan waktu kompilasi, yang mengalahkan TRY-CATCH yang berfungsi saat run-time.

Untuk (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. Bagaimana cara membuat daftar semua tabel di semua database di SQL Server dalam satu set hasil?

  2. kesalahan:26 - Kesalahan Menemukan Server/Instance Ditentukan. (Tidak dapat terhubung ke Db lokal saya Dari server Host saya)

  3. Sql Server 2008 NVARCHAR panjang -1

  4. Menggunakan GROUP BY dengan FIRST_VALUE dan LAST_VALUE

  5. Bagaimana saya bisa memiliki beberapa ekspresi tabel umum dalam satu pernyataan SELECT?