2012-10-29 46 views

回答

1

將主鍵和外鍵添加到要作爲父級和子級關聯的表中。

ALTER TABLE [dbo].[CHILD] WITH CHECK ADD CONSTRAINT [FK_PARENT__CHILD] 
FOREIGN KEY([ID]) REFERENCES [dbo].[PARENT] ([ID]) ON UPDATE CASCADE 
ON DELETE CASCADE 
1

您需要設置兩個表之間的foreign key關係。

基本上這是一個表中的一列中包含另一行中的行的ID。

有兩種方法來設置它。

  1. 父母持有孩子的ID。這僅在兩個對象之間存在1:1關係時纔有用。
  2. 孩子持有父母的身份證。這更有用,因爲父母和多個孩子之間可能有1:多的關係。

從維基百科頁面這個例子說明了代碼:

CREATE TABLE Supplier (
SupplierNumber INTEGER NOT NULL, 
Name   VARCHAR(20) NOT NULL, 
Address   VARCHAR(50) NOT NULL, 
TYPE   VARCHAR(10), 
CONSTRAINT supplier_pk PRIMARY KEY(SupplierNumber), 
CONSTRAINT number_value CHECK (SupplierNumber > 0)) 

CREATE TABLE Invoices (
InvoiceNumber INTEGER NOT NULL, 
SupplierNumber INTEGER NOT NULL, 
Text   VARCHAR(4096), 
CONSTRAINT invoice_pk PRIMARY KEY(InvoiceNumber), 
CONSTRAINT inumber_value CHECK (InvoiceNumber > 0), 
CONSTRAINT supplier_fk FOREIGN KEY(SupplierNumber) 
    REFERENCES Supplier(SupplierNumber) 
    ON UPDATE CASCADE ON DELETE RESTRICT)