在 SQL Server 中,可以通過以下方式設置外鍵約束:
1. 在創建表時,使用 FOREIGN KEY 關鍵字指定外鍵約束。例如:
```sql
CREATE TABLE Orders (
OrderID int PRIMARY KEY,
CustomerID int,
OrderDate date,
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
```
2. 在已經存在的表上添加外鍵約束。例如:
```sql
ALTER TABLE Orders
ADD CONSTRAINT FK_CustomerID
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
```
3. 可以指定外鍵約束的級聯操作,例如當主鍵被刪除時,外鍵如何處理。可以使用 ON DELETE 和 ON UPDATE 子句來指定級聯操作。例如:
```sql
ALTER TABLE Orders
ADD CONSTRAINT FK_CustomerID
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
ON DELETE CASCADE
ON UPDATE CASCADE;
```
4. 可以使用 WITH NOCHECK 子句創建外鍵約束,允許存在無效引用。例如:
```sql
ALTER TABLE Orders
WITH NOCHECK
ADD CONSTRAINT FK_CustomerID
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
```
需要注意的是,在設置外鍵約束時,必須確保外鍵列和主鍵列的數據類型和長度相同,否則會導致設置失敗。