请用SQL命令,2)给成绩表(score)增加一个说明列(explain,varchar(10)),设计一个触发器,使向成绩表中增加数据和修改分数时,如果成绩为>=60分,说明列填写‘及格’,其他情况填写’不及格’,并且能够顺利在SSMS2019上成功运行
时间: 2024-03-01 12:52:52 浏览: 95
能够成功运行,学生成绩管理系统,Java+SQLserver,内附说明书
5星 · 资源好评率100%
以下是实现要求的 SQL 命令:
```sql
-- 给成绩表增加说明列
ALTER TABLE score
ADD explain VARCHAR(10);
-- 创建成绩表的触发器
CREATE TRIGGER tr_score_explain
ON score
AFTER INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON;
DECLARE @id INT, @score INT;
SELECT @id = id, @score = score FROM inserted;
IF @score < 60
UPDATE score SET explain = '不及格' WHERE id = @id;
ELSE
UPDATE score SET explain = '及格' WHERE id = @id;
END;
```
这段 SQL 命令首先使用 ALTER TABLE 命令给成绩表 score 增加了一个名为 explain 的 VARCHAR(10) 类型的列。接着创建了一个名为 tr_score_explain 的触发器,监视 score 表的 INSERT 和 UPDATE 操作,并在操作完成后根据成绩的高低设置相应的说明。注意,在运行这段 SQL 命令时,需要确保 score 表已存在。
阅读全文