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

SQL Server(T-SQL)の既存のテーブルに外部キー制約を追加する方法

    データベース用語では、外部キー は、2つのテーブル間の関係で別のテーブルの主キーフィールドにリンクされている列です。

    外部キーは一種の制約であるため、SQL Serverで外部キーを作成する場合は、外部キー制約を作成する必要があります。

    この記事では、Transact-SQLを使用してSQLServerで外部キー制約を作成する方法について説明します。

    これを示す最も簡単な方法は、例を使用することです。この例では、T-SQLを使用して、ALTER TABLEを使用して外部キー制約を作成します。 ステートメント:

    USE Music;
    ALTER TABLE Albums
      ADD CONSTRAINT FK_Albums_Artists FOREIGN KEY (ArtistId)     
          REFERENCES dbo.Artists (ArtistId)
          ON DELETE CASCADE    
          ON UPDATE CASCADE
      ;
    GO

    これにより、2つのテーブル(Albums)の間に関係が作成されます テーブルとArtists) テーブル)。これを行うには、Albumsに外部キー制約を作成します。 テーブル。 Albums.ArtistId columnは、Artists.ArtistIdへの外部キーです。 列。

    これは明らかに、2つのテーブルが存在することを前提としています。そうしないと、エラーが発生します。

    GOも使用します これは実際にはT-SQLの一部ではありません。 T-SQLステートメントのバッチの終了を通知することは、さまざまなユーティリティによって認識されています。

    結果を確認する

    次のスクリプトを実行して、結果を確認できます。

    USE Music;
    SELECT 
        name,
        type_desc,
        delete_referential_action_desc,
        update_referential_action_desc
    FROM sys.foreign_keys;
    GO
    

    これにより、Musicの外部キーが一覧表示されます データベース。データベースの名前を適切に変更してください。

    データベースに外部キーが多すぎる場合は、WHEREを使用していつでもデータベースを絞り込むことができます。 関心のある特定の外部キーの句。ワイルドカード文字(*を使用することもできます )すべての列を返す必要がある場合。


    1. PostgreSQLで行番号を取得する方法

    2. Postgres:コンポジットキーを実行する方法は?

    3. 空間データベースの作成中にエラーが発生しました。エラー:ライブラリ/usr/pgsql-9.1/lib/rtpostgis-2.0.soを読み込めませんでした

    4. CloverDXでODBCデータを変換する