Scénář:
Pracujete jako vývojář SQL Serveru a potřebujete připravit skript pro zrušení omezení cizího klíče, které bylo vytvořeno v tabulce dbo.Orders.Řešení:
Pojďme vytvořit vzorové tabulky dbo.Customer a dbo.Orders a zahrnout omezení cizího klíče jako součást vytvoření tabulky pomocí níže uvedeného skriptu.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_INKEY ODKAZUJÍCÍ ODKAZU ODKAZU PREFERENCE>
Jakmile jsou tabulky vytvořeny a také omezení cizího klíče, můžete použít níže uvedený příkaz k nalezení názvu omezení cizího klíče s názvem tabulky.USE YourDatabaseName GO Vyberte Schema_name(Schema_id) jako SchemaName, object_name(Parent_object_id) jako TableName, name jako ForeignKeyConstraintName ze sys.foreign_keys
Vyhledání názvu omezení cizího klíče na serveru SQL pomocí názvu tabulky |
Nyní známe název omezení, můžeme pokračovat a napsat naše prohlášení o zrušení omezení.
Syntaxe pro zrušení omezení cizího klíče v tabulce TableAlter SchemaName.TableNameDrop Constraint_Name
Použil jsem níže uvedený příkaz k zrušení FK__Orders__Customer__164452B1 Omezení cizího klíče.
Změnit tabulku dbo. Omezení poklesu objednávek FK__Orders__Customer__164452B1
Pokud máte zájem o generování skriptů pro odstranění všech omezení cizích klíčů v databázi, zkontrolujte tento odkaz.
Video ukázka:Jak odstranit omezení cizích klíčů v SQL Server