每当在 table B 中插入一行时,在 table A 中插入一行
Insert a row into table A whenever a row is inserted into table B
我有一个 table 叫做“student”,其中 student_id 是主键。
我想创建名为“new_stud”的新 table。
当新的学生记录插入“student”table时,新创建的student_id会自动插入“new_stud" table.
我想要 "merge" 两个 table 的解决方案,但不使用光标。
when new student record is inserted into "student" table, newly created student_id is automatically inserted into "new_stud" table.
您需要一个触发器。
您没有指定您使用的是哪个数据库。以下两个链接是针对SQL服务器的,但在大多数关系数据库中概念是相同的:
- Create Trigger in SQL Server (Whosebug)
- CREATE TRIGGER (Transact-SQL)(MSDN)
基本上,您创建了一个 INSERT
触发器,每当向 student
中插入一个新条目时,它就会向 new_stud
中插入一个新条目。在 SQL 服务器中,语法如下:
CREATE TRIGGER new_student_trigger ON student
AFTER INSERT AS
BEGIN
INSERT INTO new_stud (student_id)
SELECT student_id FROM inserted;
END
我有一个 table 叫做“student”,其中 student_id 是主键。 我想创建名为“new_stud”的新 table。 当新的学生记录插入“student”table时,新创建的student_id会自动插入“new_stud" table.
我想要 "merge" 两个 table 的解决方案,但不使用光标。
when new student record is inserted into "student" table, newly created student_id is automatically inserted into "new_stud" table.
您需要一个触发器。
您没有指定您使用的是哪个数据库。以下两个链接是针对SQL服务器的,但在大多数关系数据库中概念是相同的:
- Create Trigger in SQL Server (Whosebug)
- CREATE TRIGGER (Transact-SQL)(MSDN)
基本上,您创建了一个 INSERT
触发器,每当向 student
中插入一个新条目时,它就会向 new_stud
中插入一个新条目。在 SQL 服务器中,语法如下:
CREATE TRIGGER new_student_trigger ON student
AFTER INSERT AS
BEGIN
INSERT INTO new_stud (student_id)
SELECT student_id FROM inserted;
END