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

2つのデータベース間に外部キー関係を追加する

    トリガーを使用して、データベース全体の参照制約を管理する必要があります。

    基本的に、挿入、更新トリガーを作成して、主キーテーブルにキーが存在することを確認します。キーが存在しない場合は、挿入または更新を元に戻してから、例外を処理します。

    例:

    Create Trigger dbo.MyTableTrigger ON dbo.MyTable, After Insert, Update
    As
    Begin
    
       If NOT Exists(select PK from OtherDB.dbo.TableName where PK in (Select FK from inserted) BEGIN
          -- Handle the Referential Error Here
       END
    
    END
    

    編集済み: 明確にするために。これは、参照整合性を適用するための最良のアプローチではありません。理想的には、両方のテーブルを同じデータベースに配置する必要がありますが、それが不可能な場合は。次に、上記はあなたにとって潜在的な回避策です。



    1. ブール値のメンバー関数execute()の呼び出し

    2. MySQL CAST –MySQLでCastを入力する方法

    3. アップグレードの問題中に破損したSQLデータベースを修正

    4. MySQLでのUCASE()関数のしくみ