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

Tidak dapat menangkap kesalahan tabel ubah SQL Server

Kesalahan yang terjadi sebagai hasil kompilasi ulang batch setelah resolusi nama yang ditangguhkan tidak dapat ditangkap pada tingkat yang sama dengan kesalahan yang terjadi. Salah satu solusinya adalah dengan membungkus DDL dalam SQL dinamis:

BEGIN TRY
    EXEC(N'ALTER TABLE [dbo].[my_table_name] ADD PRIMARY KEY ([id]);');
END TRY
BEGIN CATCH
    IF ERROR_NUMBER() = 1779
    BEGIN
        --handle expected errors
        PRINT 'Primary Key already exists. ';
    END
    ELSE
    BEGIN
        --raise other unexpected errors
        THROW;
    END;
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. Presisi, Skala, Jumlah, Pembagian.. Pemotongan

  2. SQL Server memformat tempat desimal dengan koma

  3. Sintaks salah di dekat kata kunci 'dengan'.

  4. Meratakan XML hierarkis dalam SQL menggunakan metode node()

  5. Pembaruan dengan beberapa kondisi. SQL 2008