SQL Server Management Studio でテーブル作成スクリプトを生成する場合、外部キー制約は、私が記述する方法とは少し異なります。
ここに1つがあります:
ALTER TABLE [dbo].[GeoBytesCountries]
WITH CHECK
ADD CONSTRAINT [FK_GeoBytesCountries_MapReferenceId]
FOREIGN KEY ([MapReferenceId])
REFERENCES [dbo].[GeoBytesMapReferences] ([MapReferenceId])
GO
ALTER TABLE [dbo].[GeoBytesCountries]
CHECK CONSTRAINT [FK_GeoBytesCountries_MapReferenceId]
GO
この外部キー制約を「WITH CHECK」と 2 番目の「CHECK CONSTRAINT」ステートメントなしで記述し、同じ機能が得られることを期待します。
テーブルの外部キー制約を記述しているときに、「WITH CHECK」と別の「CHECK CONSTRAINT」ステートメントを使用することの価値を誰かが説明してくれますか?
または、以下のコードは完全に/機能的に上記のコードと同等ですか?
ALTER TABLE [dbo].[GeoBytesCountries]
ADD CONSTRAINT [FK_GeoBytesCountries_MapReferenceId]
FOREIGN KEY ([MapReferenceId])
REFERENCES [dbo].[GeoBytesMapReferences] ([MapReferenceId])
GO