用sql serve语句为选课表Reports增加一个属性列Level,并为该表创建一触发器,将成绩Grade按下列对应关系由分数转换成等级,并保存到Level列中: 小于60分:不及格 60~70分:及格 70~80分:中 80~90分:良 90分以上:优
时间: 2024-03-24 20:37:57 浏览: 22
好的,根据你的要求,下面是添加属性列和创建触发器的 SQL 语句:
```sql
-- 添加属性列
ALTER TABLE Reports ADD Level VARCHAR(10)
-- 创建触发器
CREATE TRIGGER GradeToLevel
ON Reports
AFTER INSERT, UPDATE
AS
BEGIN
UPDATE Reports
SET Level =
CASE
WHEN Grade < 60 THEN '不及格'
WHEN Grade >= 60 AND Grade < 70 THEN '及格'
WHEN Grade >= 70 AND Grade < 80 THEN '中'
WHEN Grade >= 80 AND Grade < 90 THEN '良'
ELSE '优'
END
FROM inserted
WHERE inserted.ID = Reports.ID
END
```
以上 SQL 语句将在 Reports 表中添加一个名为 Level 的属性列,并创建一个名为 GradeToLevel 的触发器。该触发器将在插入或更新 Reports 表中的记录后自动将分数转换为对应等级,并将结果保存到 Level 列中。需要注意的是,触发器是基于 inserted 表创建的,因此只会更新那些被插入或更新的记录。