Udostępnij przez


Tworzenie, zmienianie i usuwanie kluczy obcych

W SQL Server Obiekty zarządzania obiekty (SMO), klucze obce są reprezentowane przez ForeignKey obiekt.

Aby utworzyć klucz obcy w obiekty SMO, należy określić w tabela, w którym klucz obcy jest zdefiniowany w konstruktora ForeignKey obiekt. Z tabela należy wybrać co najmniej jedną kolumna jako klucz obcy.Aby to zrobić, należy utworzyć ForeignKeyColumn Zmienna obiektu, a następnie określ nazwę kolumna, która znajduje się klucz obcy. Następnie określ, do którego istnieje odwołanie tabel i kolumn do którego istnieje odwołanie.Użycie Add(ForeignKeyColumn) Metoda, aby dodać kolumna, która ma zostać Columns właściwość obiektu.

Kolumny, które reprezentują klucz obcy są wymienione w Columns Obiekt właściwość ForeignKey obiekt. Klucz podstawowy, do której odwołuje się klucz obcy jest reprezentowany przez ReferencedKey() Właściwość, która znajduje się w tabela określonej przez ReferencedTable() Właściwość.

Przykład

Aby używać dostarczonych przykładów kodu źródłowego, należy wybrać środowisko, szablon oraz język programowania, które będą używane do tworzenia aplikacji.Aby uzyskać więcej informacji zobacz Jak Tworzenie obiektów SMO projektu Visual Basic w programie Visual Studio .NET lub Jak Tworzenie projektu programu Visual C# obiekty SMO w programie Visual Studio .NET.

Tworzenie, zmienianie i usuwanie klucz obcy w języku Visual Basic

W tym przykładzie kodu pokazano, jak utworzyć relację klucz obcy między jedną lub więcej kolumn w jednej tabela do kolumna klucz podstawowy w innej tabela.

Tworzenie, zmienianie i usuwanie klucz obcy w środowisku Visual C#

W tym przykładzie kodu pokazano, jak utworzyć relację klucz obcy między jedną lub więcej kolumn w jednej tabela do kolumna klucz podstawowy w innej tabela.

{ 
//Connect to the local, default instance of SQL Server. 
Server srv; 
srv = new Server(); 
//Reference the AdventureWorks database. 
Database db; 
db = srv.Databases("AdventureWorks"); 
//Declare a Table object variable and reference the Employee table. 
Table tbe; 
tbe = db.Tables("Employee", "HumanResources"); 
//Declare another Table object variable and reference the EmployeeAddress table. 
Table tbea; 
tbea = db.Tables("EmployeeAddress", "HumanResources"); 
//Define a Foreign Key object variable by supplying the EmployeeAddress as the parent table and the foreign key name in the constructor. 
ForeignKey fk; 
fk = new ForeignKey(tbea, "test_foreignkey"); 
//Add EmployeeID as the foreign key column. 
ForeignKeyColumn fkc; 
fkc = new ForeignKeyColumn(fk, "EmployeeID", "EmployeeID"); 
fk.Columns.Add(fkc); 
//Set the referenced table and schema. 
fk.ReferencedTable = "Employee"; 
fk.ReferencedTableSchema = "HumanResources"; 
//Create the foreign key on the instance of SQL Server. 
fk.Create();
}