sql >> Database >  >> RDS >> Sqlserver

Kan SQL Server-tabelfout niet opvangen

Fouten die optreden als gevolg van hercompilatie van batches na uitgestelde naamomzetting, kunnen niet worden opgevangen op hetzelfde niveau als waarop de fout optreedt. Een tijdelijke oplossing is om de DDL in dynamische SQL te verpakken:

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. Codeiginter mysql slaat Chinese karakters op als vraagtekens

  2. MySQL beveiligen - Gebruik maken van rechten voor gegevenstoegang voor een veilige installatie

  3. Een gids voor Pgpool voor PostgreSQL:deel één

  4. UDT als parameter in EF4-query