SQLsever外键设置范例
时间: 2023-08-07 09:06:55 浏览: 95
好的,以下是一个在 SQL Server 中设置外键的例子:
假设我们有两个表格:
```
CREATE TABLE orders (
order_number INT PRIMARY KEY,
customer_id INT,
order_date DATE
);
CREATE TABLE customers (
customer_id INT PRIMARY KEY,
customer_name VARCHAR(50),
customer_email VARCHAR(50)
);
```
我们想要在 `orders` 表格中添加一个外键,将 `customer_id` 列与 `customers` 表格中的 `customer_id` 列关联起来。我们可以使用以下代码:
```
ALTER TABLE orders
ADD CONSTRAINT fk_customer
FOREIGN KEY (customer_id) REFERENCES customers(customer_id);
```
这将创建一个名为 `fk_customer` 的外键约束,将 `orders` 表格中的 `customer_id` 列与 `customers` 表格中的 `customer_id` 列关联起来。当我们试图在 `orders` 表格中插入一个无效的 `customer_id` 时,数据库会抛出一个错误。
需要注意的是,SQL Server 还提供了其他的外键选项,例如级联更新和删除。可以使用以下代码来添加这些选项:
```
-- 添加级联更新选项
ALTER TABLE orders
ADD CONSTRAINT fk_customer
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
ON UPDATE CASCADE;
-- 添加级联删除选项
ALTER TABLE orders
ADD CONSTRAINT fk_customer
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
ON DELETE CASCADE;
```
这将允许在 `customers` 表格中更新或删除一个 `customer_id` 时,自动更新或删除与之关联的 `orders` 表格中的记录。
阅读全文