Scenario:
U heeft al twee tabellen dbo.Customer en dbo.Orders aangemaakt. Primaire sleutel wordt gemaakt in de kolom CustomerId in de tabel dbo.Klant.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 )
U moet de tabel dbo.Orders wijzigen en een beperking voor een externe sleutel toevoegen voor CustomerId van dbo.Customer.
Oplossing:
Aangezien de tabellen al aanwezig zijn, kan het onderstaande script worden gebruikt om de dbo.Orders-tabel te wijzigen en een beperking voor buitenlandse sleutels toe te voegen.Als de kolom al bestaat in de tweede tabel waarop u een beperking voor buitenlandse sleutels wilt maken, bent u goed om het onderstaande script uit te voeren. Omdat we de kolom niet in de tabel hebben, gaan we eerst de CustomerId-kolom in de tabel dbo.Orders toevoegen. De kolomnaam hoeft niet overeen te komen met de eerste tabelkolom in ons geval dbo.Customer.CustomerId
--Add new column to Table in case you don't have Alter table dbo.Orders Add CustomerId int --Add Foreign Key Constraint on Existing Table Alter table dbo.Orders Add Constraint Fk_CustomerId Foreign Key(CustomerId) References dbo.Customer(CustomerId)
Creëer een beperking voor externe sleutels op samengestelde kolommen Het onderstaande script kan worden gebruikt om een externe sleutelbeperking voor samengestelde kolommen te maken.
USE YourDatabaseName GO CREATE TABLE dbo.Customer ( Customerid INT Identity(1,1) ,FName VARCHAR(100) Not Null ,LName VARCHAR(100) ,SSN VARCHAR(10) Not Null, Constraint Pk_FName_SSN Primary Key (FName,SSN) ) CREATE TABLE dbo.Orders ( OrderId INT Identity(1, 1) ,OrderitemName VARCHAR(50) ,OrderItemAmt INT ,FirstName VARCHAR(100), SSN VARCHAR(10) Not Null )
Kolommen bestaan al in beide tabellen, dus we hoeven geen kolommen toe te voegen aan de tweede tabel. We hoeven alleen Foreign Key Constrain te maken. Onderstaand script kan worden gebruikt om Foreign Key Constraint voor samengestelde kolommen te maken.
Alter table dbo.Orders Add Constraint Fk_Order_Customer_FName_SSN FOREIGN KEY (FirstName,SSN) REFERENCES dbo.Customer(FName,SSN)
U schrijft uw syntaxis voor uw tabel
Wijzig tabel dbo.YourTableNameAdd Constraint Constraint_NameForeign Key (Column1FromYourTableName,Column2FromYourTable) Referenties dbo.YourFirstTable(Column1From>