sql >> データベース >  >> RDS >> Sqlserver

SQL Server のテーブル変更エラーをキャッチできません

    遅延名前解決後のバッチ再コンパイルの結果として発生するエラーは、エラーが発生したのと同じレベルではキャッチできません。 1 つの回避策は、動的 SQL で DDL をラップすることです:

    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. アセットフォルダに配置されているAndroidのデータベースファイルからバージョン番号を読み取る方法

    2. MySQL / MariaDBリレーショナルテーブル内の特定の親ノードのすべての子(およびその子)を取得する

    3. 別のアプリケーションからのMySQL挿入を監視する

    4. EM12cデータベースの待機アラートの使用時間