Scenariusz:
Pracujesz jako programista SQL Server i musisz przygotować skrypt, aby usunąć ograniczenie klucza obcego, które zostało utworzone w tabeli dbo.Orders.Rozwiązanie:
Utwórzmy przykładowe tabele dbo.Customer i dbo.Orders i uwzględnijmy ograniczenie klucza obcego jako część tworzenia tabeli za pomocą poniższego skryptu.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 ODNOŚNIKI KLUCZOWE Klient(CustomerId) )>
Po utworzeniu tabel i ograniczeniu klucza obcego możesz użyć poniższej instrukcji, aby znaleźć nazwę ograniczenia klucza obcego z nazwą tabeli.USE YourDatabaseName GO Wybierz Schema_name(Schema_id) jako SchemaName, object_name (Parent_object_id) jako TableName, nazwa jako ForeignKeyConstraintName z sys.foreign_keys
Znajdź nazwę ograniczenia klucza obcego w SQL Server za pomocą nazwy tabeli |
Teraz znamy nazwę ograniczenia, możemy iść dalej i napisać naszą instrukcję ograniczenia upuszczania.
Składnia ograniczenia usuwania klucza obcego w tabeli TableAlter SchemaName.TableNameDrop Constraint Constraint_Name
Użyłem poniższej instrukcji do usunięcia FK__Zamówienia__Klient__164452B1 Ograniczenie klucza obcego.
Zmień tabelę dbo.Ograniczenie rezygnacji z zamówień FK__Zamówienia__Klient__164452B1
Jeśli chcesz wygenerować skrypty usuwające wszystkie ograniczenia kluczy obcych w bazie danych, sprawdź ten link.
Prezentacja wideo:Jak usunąć ograniczenia kluczy obcych w programie SQL Server