每当我在主表中插入新行时,如何在表中插入行?

时间:2019-05-15 03:32:17

标签: sql vb.net ms-access

我有一个连接到Access 2010 *数据库的Vb.net应用程序,我有一个表,该表包含许多学生的个人信息,而另一个表则包含该学生成功学习的每门课程的正确/错误字段。

结构是这样的

students

 |Id_student | Name | Phone |

finishedCourses

| Id_stutent | chemistry | physics | maths |

每次在finishedCourses表中插入新行时,如何向students表中添加新行。

我不知道如何在两个表中添加具有相同ID的行。

我希望像这样

students

Id_student | Name | Phone
1234456    | abc  | 12432534645

finishedCourses

Id_stutent | chemistry | physics | maths
1234456    | false     | false   | false

“课程”的默认值为“ False”。每门课程的初始状态不完整。

2 个答案:

答案 0 :(得分:0)

我试图弄明白您想要的是什么,当您在表格students中插入学生信息时,您想在finishCourses中插入初始值,对吗? 我不熟悉Access数据库,我意识到Access数据库可能没有触发器功能,否则您可以使用触发器来实现您的要求。 在这个问题中,您只需编写两个插入SQL即可使用相同的studentId完成此操作,如下所示:

insert into students(id_101, 'Bob', '88089901');
insert into finishedCourses(id_101, false, false, false...);

答案 1 :(得分:0)

如果您使用的是SQL Server,则可以使用trigger。示例代码如下,我不了解MS-Access

CREATE TRIGGER trgAfterInsert ON [dbo].[students] 
FOR INSERT
AS
DECLARE @Id_stutent int;

SELECT @Id_stutent=i.Id_student  FROM inserted i;   

INSERT  INTO finishedCourses
       (Id_stutent,chemistry,physics,maths) 
VALUES(@Id_stutent ,false , false , false ,false );
GO