📄 示例-触发器1.sql
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -