Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment supprimer la contrainte de clé étrangère dans la base de données SQL Server - Tutoriel SQL Server / TSQL Partie 75

Scénario :

Vous travaillez en tant que développeur SQL Server et vous devez préparer le script pour supprimer la contrainte de clé étrangère qui a été créée sur la table dbo.Orders.

Solution :

Créons des exemples de tables dbo.Customer et dbo.Orders et incluons la contrainte de clé étrangère dans le cadre de la création de table en utilisant le script ci-dessous.
USE YourDatabaseNameGOCREATE 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) )
 
Une fois les tables créées ainsi que la contrainte de clé étrangère, vous pouvez utiliser l'instruction ci-dessous pour trouver le nom de la contrainte de clé étrangère avec le nom de la table.
 USE YourDatabaseName GO Select Schema_name(Schema_id) as SchemaName, object_name(Parent_object_id) comme TableName, nom comme ForeignKeyConstraintName de sys.foreign_keys
 
 
Rechercher le nom de la contrainte de clé étrangère dans SQL Server avec le nom de la table
 
Maintenant que nous connaissons le nom de la contrainte, nous pouvons continuer et écrire notre déclaration de contrainte de suppression.
Syntaxe pour supprimer la contrainte de clé étrangère sur TableAlter Table SchemaName.TableNameDrop Constraint Constraint_Name
J'ai utilisé la déclaration ci-dessous pour supprimer FK__Orders__Customer__164452B1 Contrainte de clé étrangère.
 Modifier la table dbo.Orders Drop Constraint FK__Orders__Customer__164452B1
 
Si vous souhaitez générer des scripts pour supprimer toutes les contraintes de clé étrangère dans une base de données, consultez ce lien.

Démonstration vidéo :Comment supprimer les contraintes de clé étrangère dans SQL Server