sql >> Databáze >  >> RDS >> Sqlserver

Nelze zachytit chybu změny tabulky serveru SQL Server

Chyby, které se vyskytnou v důsledku dávkové rekompilace po odloženém překladu názvů, nelze zachytit na stejné úrovni, na které došlo k chybě. Jedním z řešení je zabalit DDL do dynamického SQL:

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. Dotaz SQL Server s IN (NULL) nefunguje

  2. Pole vstupního formuláře HTML nevyplňuje hodnotu PHP za první mezerou

  3. Alfanumerické třídění bez ohledu na velikost písmen v postgresu

  4. Časová osa grafu Google s datem na ose x