SELECT @credit=t_course.credit FROM t_course,inserted WHERE t_course.C_number= inserted.C_number IF @score>=60 BEGIN
UPDATE t_score SET credit=@credit FROM t_score,inserted
WHERE t_score.S_number=inserted.S_number END END
实验九
1、
在查询分析器中运行以下命令: USE Stuinfo GO
CREATE FUNCTION Fn_Grad (@ClassNo Char(6))
RETURNS @Fn_Grad TABLE
(课程编号 Char(4) PRIMARY KEY NOT NULL, 平均成绩 Decimal(6,2) NOT NULL ) AS BEGIN
INSERT @Fn_Grad
SELECT C_Number AS 课程编号,AVG(score) AS 平均成绩 FROM T_Score
WHERE (LEFT(S_Number,6)=@ClassNo) GROUP BY C_Number RETURN END (2)测试
在查询分析器中运行以下命令: SELECT * FROM dbo.Fn_Grad('200301') 返回结果是200301班的成绩统计结果。 2、
在查询分析器中运行以下命令: Declare @err Int
21
USE Sales
BEGIN TRANSACTION
UPDATE T1 SET T1.数量= T1.数量+ GG.数量 FROM T1,GG
WHERE T1.编号= GG.编号 SELECT @err=@@error IF @err!=0
--更新失败,回滚所有操作 BEGIN
ROLLBACK TRANSACTION RETURN END
INSERT T1
SELECT * FROM GG
WHERE NOT (编号 IN (SELECT SELECT @err=@@error IF @err!=0
--更新失败,回滚所有操作 BEGIN
ROLLBACK TRANSACTION RETURN END
COMMIT TRANSACTION 22
编号 FROM T1))