Visual Studio 2005 は、SQL Server CE データベース (私はバージョン 3.0 を使用しています) 内のテーブル間の関係を作成するためのインターフェイスを提供しておらず、私の知る限り、Management Studio を使用して Compact Edition DB を開くことはできません。何か案は?
7 に答える
残念ながら、現在、SQL Server CE でテーブル間の関係を構築するためのデザイナー サポートは (SQL Server 2005 とは異なり) ありません。リレーションシップを構築するには、次のような 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 Jensen の功績 ( http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=532377&SiteID=1 )
デザイナーのサポートがあるというアランの言葉は正しい。Rhywun は、外部キー テーブルを選択できないことを示唆しているため、正しくありません。彼が言いたいのは、UI で外部キー テーブルのドロップダウンがグレー表示されているということです。つまり、外部キーを追加する正しいテーブルを右クリックしていないということです。
要約すると、外部キー テーブルを右クリックし、[テーブル プロパティ] > [関係の追加] オプションを使用して、関連する主キー テーブルを選択します。
私はそれを何度もやりましたが、うまくいきます。
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 つ以上のテーブル間の関係を作成するには、主キーが必要です。
この質問が最初に出されて以来、「非常に長い時間」であることは承知しています。万が一、誰かのお役に立てれば、
リレーションシップの追加は、SQL Server Compact Tool Box ( https://sqlcetoolbox.codeplex.com/ )を介して MS によって十分にサポートされています。インストールするだけで、サーバー エクスプローラー ウィンドウを使用してコンパクト データベースに接続するオプションが表示されます。プライマリ テーブルを右クリックし、[テーブル プロパティ] を選択します。次のウィンドウが表示されます。このウィンドウには、関係を追加できる [関係の追加] タブが含まれています。