基于教学数据库jxsk,创建下面触发器,并给出正反实例。要求使用sql server的语法,为数据库表SC创建一个触发器,将成绩按下列对应关系由分数转换成等级:小于60分,不及格;60-70分,及格;70-80分,中;80-90分,良;90分以上,优。
时间: 2024-05-15 09:14:10 浏览: 146
触发器可以使用 SQL Server Management Studio 创建,也可以使用 T-SQL 语句创建。以下是使用 T-SQL 创建触发器的示例:
```sql
USE jxsk;
GO
CREATE TRIGGER trg_SC
ON SC
AFTER INSERT, UPDATE
AS
BEGIN
UPDATE SC SET grade =
CASE
WHEN score < 60 THEN '不及格'
WHEN score >= 60 AND score < 70 THEN '及格'
WHEN score >= 70 AND score < 80 THEN '中'
WHEN score >= 80 AND score < 90 THEN '良'
WHEN score >= 90 THEN '优'
END
FROM inserted i
WHERE SC.sid = i.sid AND SC.cno = i.cno;
END;
```
这个触发器会在 SC 表的插入和更新操作之后触发。它会将分数转换成对应的等级,并将结果存储到表中的 grade 列中。
以下是一个正例:假设 SC 表中已经有一条记录,其中 sid = '001',cno = '001',score = 85,grade = NULL。现在我们向 SC 表中插入一条新记录,sid = '001',cno = '002',score = 78。触发器会自动将这条记录的 grade 列更新为 '中'。
以下是一个反例:假设我们向 SC 表中插入一条记录,其中 sid = '002',cno = '001',score = 50。触发器会将这条记录的 grade 列更新为 '不及格'。如果我们再向 SC 表中更新分数,将 score 更新为 70,触发器会将这条记录的 grade 列更新为 '中'。
阅读全文
相关推荐
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)