SQL Server CE (Compact Edition) データベースで外部キー関係を作成するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/46827

質問

Visual Studio 2005 には、SQL Server CE データベース (バージョン 3.0 を使用しています) 内のテーブル間のリレーションシップを作成するためのインターフェイスが提供されておらず、私の知る限り、Management Studio を使用して Compact Edition DB を開くことはできません。何か案は?

役に立ちましたか?

解決

残念ながら、現時点では (SQL Server 2005 とは異なり) SQL Server CE でテーブル間の関係を構築するためのデザイナー サポートはありません。関係を構築するには、次のような SQL コマンドを使用する必要があります。

ALTER TABLE Orders
ADD CONSTRAINT FK_Customer_Order
FOREIGN KEY (CustomerId) REFERENCES Customers(CustomerId)

CE 開発を行っている場合は、この FAQ をお勧めします。

編集:Visual Studio 2008 では、テーブルを右クリックして GUI でこれを実行できるようになりました。

他のヒント

Visual Studio 2008 する FK を追加できるデザイナーが必要です。テーブルを右クリックするだけです...[テーブルのプロパティ] をクリックし、[リレーションの追加] セクションに進みます。

クエリを作成し (Visual Studio で、DB 接続を右クリック -> 新しいクエリ)、次の SQL を実行する必要があります。

ALTER TABLE tblAlpha
ADD CONSTRAINT MyConstraint FOREIGN KEY (FK_id) REFERENCES
tblGamma(GammaID)
ON UPDATE CASCADE

外部キーが作成されたことを確認するには、次の SQL を実行します。

SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS

E ジェンセンの功績 (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1)

デザイナーのサポートがあるというアランの言葉は正しいです。Rhywun が外部キー テーブルを選択できないとほのめかしているのは間違いです。彼が意味するのは、UI で外部キー テーブルのドロップダウンがグレー表示になっているということです。これが意味するのは、外部キーを追加する正しいテーブルを右クリックしていないということだけです。

要約すると、外部キー テーブルを右クリックし、[テーブル プロパティ] > [関係の追加] オプションを使用して、関連する主キー テーブルを選択します。

何度もやりましたが、うまくいきました。

チュートリアル:SQL Server Compact 3.5 データベースの作成

前の手順で作成したテーブル間のリレーションシップを作成するには

  1. サーバー エクスプローラー/データベース エクスプローラーで、「テーブル」を展開します。
  2. Orders テーブルを右クリックし、[テーブルのプロパティ] をクリックします。
  3. 「関係の追加」をクリックします。
  4. [関係名] ボックスに「FK_Orders_Customers」と入力します。
  5. 「外部キーテーブル列」リストで「CustomerID」を選択します。
  6. 「列の追加」をクリックします。
  7. 「関係の追加」をクリックします。
  8. OK]をクリックしてプロセスを完了し、データベースに関係を作成します。
  9. もう一度「OK」をクリックして、「テーブルのプロパティ」ダイアログボックスを閉じます。
create table employee
(
   empid int,
   empname varchar(40),
   designation varchar(30),
   hiredate datetime, 
   Bsalary int,
   depno constraint emp_m foreign key references department(depno)
)

外部キーまたは 2 つ以上のテーブル間の関係を作成するには、主キーが必要です。

この質問が最初に行われてから「非常に長い時間が経った」ことは承知しています。万が一、誰かのお役に立てれば、

リレーションシップの追加は、MS によって SQL Server Compact ツール ボックス (https://sqlcetoolbox.codeplex.com/)。インストールするだけで、サーバー エクスプローラー ウィンドウを使用してコンパクト データベースに接続するオプションが表示されます。プライマリテーブルを右クリックし、「テーブルプロパティ」を選択します。次のウィンドウが表示されます。このウィンドウには、関係を追加できる「関係の追加」タブが含まれています。

Add Relations Tab - SQL Server Compact Tool Box

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top