none
SQL Azure でのリレーションシップ作成 RRS feed

  • 質問

  • SQL Azure で2つの列をキーとするリレーションシップをつくることができません。

    外部テーブルを選択し[編集]をクリックし、[インデックスとキー]タブを選択します。

    右側の[外部キーリレーションシップを追加します]をクリックすると[クリックして外部キーを指定します]と表示されるので、キーとなる2つの列を選択ししようとしても1つしか選択できません。

    右側で、[参照テーブルを選択します。]でテーブルを指定して[参照列を選択します]で列を選択しようとしても[主キーまたは一意キーが見つかりません]となってしまします。

    例えば次のようなリレーションシップを作成したいのです。

    主テーブル:マスター(主キー:ID1、ID2)外部テーブル:明細(主キー:ID1、ID2、ID3)

    リレーションシップ:ID1、ID2の2つの列で結びたい

    お分かりの方教えていただけないでしょうか。

    よろしくお願いいたします。

    2013年12月25日 16:14

回答

  • フォーラム オペレーターの星 睦美です。

    Windows Azure SQL データベース とSQL Server でサポートされている機能にはいくつか違いがありますが、Windows Azure SQL データベース でのみのリレーション シップが作成できないのであれば機能の制限を確認してみてはいかがでしょうか。

    SQL Server の機能の制限 (Windows Azure SQL データベース):

    もしSQL Server でも同じ場合は、SQL Server に関する参考情報(書籍、MSDN/TechNet ライブラリ)やSQL Server フォーラムで情報が見つかりやすいのではないかと思います。


    フォーラム オペレーター 星 睦美 - MSDN Community Support


    • 編集済み 星 睦美 2013年12月26日 1:40 編集
    • 回答としてマーク mitsuhiro 2013年12月26日 3:00
    2013年12月26日 1:36

すべての返信

  • フォーラム オペレーターの星 睦美です。

    Windows Azure SQL データベース とSQL Server でサポートされている機能にはいくつか違いがありますが、Windows Azure SQL データベース でのみのリレーション シップが作成できないのであれば機能の制限を確認してみてはいかがでしょうか。

    SQL Server の機能の制限 (Windows Azure SQL データベース):

    もしSQL Server でも同じ場合は、SQL Server に関する参考情報(書籍、MSDN/TechNet ライブラリ)やSQL Server フォーラムで情報が見つかりやすいのではないかと思います。


    フォーラム オペレーター 星 睦美 - MSDN Community Support


    • 編集済み 星 睦美 2013年12月26日 1:40 編集
    • 回答としてマーク mitsuhiro 2013年12月26日 3:00
    2013年12月26日 1:36
  • ご回答ありがとうございます。SQL Serverでは、テーブルデザイナーを使って複数のキーのリレーションシップを作成することができました。SQL Azureでは、デザーナーが機能していないようでした。そこで次のようなTransact-SQLで無事リレーションシップを作成することができました。

    GO
    ALTER TABLE 外部テーブル
    ADD CONSTRAINT FK_外部テーブル_主テーブルFOREIGN KEY (キー1,キー2)
        REFERENCES 主テーブル(キー1,キー2)
        ON DELETE CASCADE
        ON UPDATE CASCADE
    ;
    GO

    ありがとうございました。

    2013年12月26日 3:06