天天看点

SQL SERVER CONSTRAINT 级联

–创建2个表,订单及订单详情.

CREATE TABLE 订单

(

订单ID INT NOT NULL IDENTITY(1,1) PRIMARY KEY, --使订单ID自增加 设置为主键.

订单日期 DATE NOT NULL

)

CREATE TABLE 订单详情

(

订单ID INT NOT NULL,

产品型号 VARCHAR(50) NOT NULL,

说明 VARCHAR(50) NOT NULL,

单价 MONEY NOT NULL,

数量 INT,

CONSTRAINT PK_订单详情 PRIMARY KEY(订单ID), --主键约束

CONSTRAINT FK_订单详情_订单ID FOREIGN KEY(订单ID) REFERENCES 订单(订单ID) --外键约束 REFERENCES 来自哪个表.

ON DELETE CASCADE --删除动作时,级联(订单表数据删除时,订单详情对应的订单 自动删除)

ON UPDATE CASCADE --更新动作时,级联(订单表数据删除时,订单详情对应的订单 自动更新,自动递增列无法更新)

–ON DELETE SET NULL 订单表数据删除动作时,不删除订单详情对应的数据,但是引用单订ID值为NULL.

–ON UPDATE NO ACTION 订单表数据更新动作时,订单详情无操作.

)

–插入数据

INSERT INTO 订单(订单日期)

VALUES(‘2019-05-23’)

–插入数据

INSERT INTO 订单详情

values(1,‘华为P30’,‘华为P30手机’,20000.00,1)

–查询数据

SELECT * FROM 订单

SELECT * FROM 订单详情

–级联,删除订单数据后,自动删除订单详情数据.

DELETE 订单 WHERE 订单ID=1

继续阅读