向学生信息表 “stu info”添加一条学生记录,同时利用触发器向 成绩表 “score”插入该同学的一条成绩记录,新的成绩记录写新同学的学号,课程名为‘数据库技术’,分数为:85,其他字段为空。 第 1 步,新建触发器 第 2 步,补充触发器过程体 第 3 步,测试触发器
时间: 2024-10-07 14:01:27 浏览: 54
首先,让我们分步骤说明如何操作:
1. 新建触发器(SQL Server 示例):
在SQL Server中,可以在“stu info”表上创建一个AFTER INSERT触发器,当新学生记录插入时,自动触发插入一条成绩记录。例如,在`master`数据库的`sysobjects`系统表中创建触发器的SQL命令如下:
```sql
CREATE TRIGGER trg_InsertScore ON stu_info
AFTER INSERT AS
BEGIN
INSERT INTO score (student_id, course_name, score)
SELECT NEW.id, '数据库技术', 85
FROM inserted; -- 使用"inserted"系统表引用新插入的行
END;
```
2. 补充触发器过程体:
如果是在MySQL或其他支持类似语法的数据库,可以调整触发器定义如下:
```sql
CREATE TRIGGER insert_score_trig ON stu_info
AFTER INSERT
FOR EACH ROW
BEGIN
INSERT INTO score (student_id, course_name, score)
VALUES (NEW.student_id, '数据库技术', 85);
END;
```
3. 测试触发器:
确认触发器已经创建后,你可以通过向 `stu_info` 表中插入一条新学生记录来测试它。比如,假设你需要插入的学生数据如下:
```sql
INSERT INTO stu_info (student_id, name, other_fields)
VALUES (1001, '张三', '...')
```
插入后,检查 `score` 表是否自动增加了一条新记录,确认学号、课程名和分数是否正确。
阅读全文