示例-触发器1.sql
来自「用C语言如何编写多元线性回归」· SQL 代码 · 共 36 行
SQL
36 行
CREATE TABLE XYMC
( 学院代码 char(2) PRIMARY KEY,
学院名称 char(20) NOT NULL
)
CREATE TABLE XMC
( 系代码 char(4) PRIMARY KEY,
系名称 char(20) NOT NULL,
学院代码 char(2) REFERENCES XYMC(学院代码)
)
GO
CREATE VIEW VIEW_MC
AS
SELECT XYMC.*, 系代码,系名称
FROM XYMC INNER JOIN XMC ON XYMC.学院代码=XMC.学院代码
GO
CREATE TRIGGER TR_VIEW_MC
ON VIEW_MC INSTEAD OF INSERT
AS
DECLARE @xy_id char(2),@xy_name char(10),@x_id char(4),@x_name char(10)
SELECT @xy_id =学院代码,@xy_name=学院名称,@x_id=系代码,@x_name=系名称 FROM inserted
IF NOT EXISTS(SELECT * FROM XYMC WHERE 学院代码 = @xy_id)
INSERT XYMC VALUES(@xy_id,@xy_name)
IF NOT EXISTS(SELECT * FROM XMC WHERE 系代码 = @x_id)
INSERT XMC VALUES(@x_id,@x_name,@xy_id)
GO
INSERT VIEW_MC VALUES('01','机械工程学院','0101','机械电子')
INSERT VIEW_MC VALUES('02','计算机学院','0201','计算机科学')
INSERT VIEW_MC VALUES('02','计算机学院','0202','软件工程')
INSERT VIEW_MC VALUES('03','信息学院','0301','电子工程')
GO
SELECT * FROM XYMC
SELECT * FROM XMC
SELECT * FROM VIEW_MC
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?