シナリオ:
あなたはSQLServer開発者として働いており、dbo.Ordersテーブルに作成された外部キー制約を削除するスクリプトを準備する必要があります。解決策:
以下のスクリプトを使用して、dbo.Customerおよびdbo.Ordersサンプルテーブルを作成し、createtableの一部として外部キー制約を含めましょう。USE YourDatabaseName GO CREATE TABLE dbo.Customer ( Customerid INT PRIMARY KEY ,FName VARCHAR(100) ,LName VARCHAR(100) ,SSN VARCHAR(10) ) CREATE TABLE dbo.Orders ( OrderId INT Identity(1, 1) ,OrderitemName VARCHAR(50) ,OrderItemAmt INT ,Customer_id INT FOREIGN KEY REFERENCES Customer(CustomerId) )>
テーブルが作成され、外部キー制約も作成されたら、以下のステートメントを使用して、テーブル名を持つ外部キー制約名を見つけることができます。
USE YourDatabaseName GO Select Schema_name(Schema_id) as SchemaName, object_name(Parent_object_id) as TableName, name as ForeignKeyConstraintName from sys.foreign_keys
テーブル名を使用してSQLServerで外部キー制約名を検索 |
これで制約名がわかったので、先に進んでドロップ制約ステートメントを記述できます。
TableAlterテーブルの外部キー制約の削除の構文SchemaName.TableNameDrop制約Constraint_Name
以下のステートメントを使用して削除しましたFK__Orders__Customer__164452B1外部キー制約。
Alter table dbo.Orders Drop Constraint FK__Orders__Customer__164452B1
データベース内のすべての外部キー制約を削除するスクリプトを生成する場合は、このリンクを確認してください。
ビデオデモ:SQLServerで外部キー制約を削除する方法