其步骤就是:利用update操作触发器产生的2个虚拟表【inserted】用来存储修改的数据信息和【deleted】表,然后将对应的数据更新到对应数据表中的字段信息中;

1.首先创建3个表:
a.信息表:
USE [SQL-LI]BEGIN TRANSACTION CHUANGJIAN_XINXIN_TAB
--创建命名为【XINXIN_TAB】的数据表,同时不允许字段为空
CREATE TABLE XINXIN_TAB
(
姓名 NVARCHAR(10) NOT NULL,
性别 NVARCHAR(1) NOT NULL,
学号 INT NOT NULL,
班级 NVARCHAR(20) NOT NULL,
出生日期 DATE NOT NULL,
CONSTRAINT XUEHAO_YUESU PRIMARY KEY CLUSTERED
([学号]ASC)
)
COMMIT TRANSACTION CHUANGJIAN_XINXI_TAB
GOb.明细分数表:
USE [SQL-LI]CREATE TABLE FENSHU_TAB
(
[学号] INT NOT NULL,
[语文] DECIMAL(3,1) NOT NULL,
[数学] DECIMAL(3,1) NOT NULL,
[英语] DECIMAL(3,1) NOT NULL
)
GOc.综合分数表:
USE [SQL-LI]CREATE TABLE ZHONGHE_TAB
(
[姓名] NVARCHAR(10) NOT NULL,
[学号] INT NOT NULL,
[总分] DECIMAL(4,1) NOT NULL,
[平均分] DECIMAL(3,1) NOT NULL)
GO2.1.【信息表】和【明细分数表】插入对应表中的数据:
USE [SQL-LI]--插入【XINXIN_TAB】表中的5条记录
INSERT INTO [DBO].XINXIN_TAB ([姓名] ,[学号] ,[性别] ,[班级] ,[出生日期] )
VALUES('李晓峰',6080,'男','计算机','2013-05-03')INSERT INTO [DBO].XINXIN_TAB ([姓名] ,[学号] ,[性别] ,[班级] ,[出生日期] )
VALUES('李晓峰1',6081,'男','计算机1','2013-05-04')
INSERT INTO [DBO].XINXIN_TAB ([姓名] ,[学号] ,[性别] ,[班级] ,[出生日期] )
VALUES('李晓峰2',6082,'男','计算机2','2013-05-05')
INSERT INTO [DBO].XINXIN_TAB ([姓名] ,[学号] ,[性别] ,[班级] ,[出生日期] )
VALUES('李晓峰3',6083,'男','计算机3','2013-05-06')
INSERT INTO [DBO].XINXIN_TAB ([姓名] ,[学号] ,[性别] ,[班级] ,[出生日期] )
VALUES('张晓',6084,'女','美术','2013-05-07')
--插入【FENSHU_TAB】表中的5条记录
INSERT INTO [DBO].FENSHU_TAB ([学号] ,[语文] ,[数学] ,[英语] )
VALUES(6080,99.5,98.6,59.2)
INSERT INTO [DBO].FENSHU_TAB ([学号] ,[语文] ,[数学] ,[英语] )
VALUES(6081,93.5,94.3,55.8)
INSERT INTO [DBO].FENSHU_TAB ([学号] ,[语文] ,[数学] ,[英语] )
VALUES(6082,96.5,78.6,58.5)
INSERT INTO [DBO].FENSHU_TAB ([学号] ,[语文] ,[数学] ,[英语] )
VALUES(6083,99.5,68.4,89.2)
INSERT INTO [DBO].FENSHU_TAB ([学号] ,[语文] ,[数学] ,[英语] )
VALUES(6084,99.7,98.7,59.4)
GO
【信息表】的数据:










