Sql 如果记录插入到表中,则触发插入到另一个表
我有Sql 如果记录插入到表中,则触发插入到另一个表,sql,sql-server-2008,triggers,Sql,Sql Server 2008,Triggers,我有tblA和tblB +----------------------------------------------------+ | tblA | +----------------------------------------------------+ | id | INT IDENTITY(1,1), PRIMARY KEY | +------------+----
tblA
和tblB
+----------------------------------------------------+
| tblA |
+----------------------------------------------------+
| id | INT IDENTITY(1,1), PRIMARY KEY |
+------------+---------------------------------------+
| usrnm | nvarchar[50], NOT NULL |
+------------+---------------------------------------+
| InsertDate | DateTime DEFAULT(getdate()), NOT NULL |
+------------+---------------------------------------+
及
每次将记录插入tblA时,我都需要自动将记录插入tblB
INSERT INTO tblA (username, action) VALUES ('usrnm', '0')
因此,在完成上述代码后,我需要立即运行以下命令:
INSERT INTO tblB (tblA_ID, username, action, InsertDate)
VALUES
('id of the above record', 'usrnm', '0', 'InsertDate of the above rec')
这可能吗?我试图找出如何触发它,但没有运气
编辑:
根据我得到的链接,应该是这样的:
CREATE TRIGGER AutoInsert
ON tblA
AFTER INSERT
AS
INSERT INTO tblB
(tblA_id, usrnm, InsertDate)
VALUES
(inserted.id, inserted.usrnm, inserted.InsertDate)
这就是我引用tblA值的方式吗?您可以在表A上创建
触发器,如下所示:
CREATE TRIGGER AutoInsert
ON tblA
AFTER INSERT
AS
INSERT INTO tblB
(tblA_id, usrnm, InsertDate)
VALUES
(inserted.id, inserted.usrnm, inserted.InsertDate)
SQL更多关于
MySQL更多关于
使用插入的
:
CREATE TRIGGER AutoInsert ON tblA AFTER INSERT AS
BEGIN
INSERT INTO tblB (tblA_id, usrnm, InsertDate)
select id, usrnm, InsertDate
from inserted i;
END;
是的,这是可能的。这里有一个很好的开始:。@GordonLinoff添加了一些代码。
DELIMITER $$
CREATE TRIGGER TriggerName
AFTER INSERT ON tblA FOR EACH ROW
BEGIN
INSERT INTO tblB (ID, name, etc)
VALUES (NEW.ID, NEW.name, NEW.etc)
END;
$$
DELIMITER ;
CREATE TRIGGER AutoInsert ON tblA AFTER INSERT AS
BEGIN
INSERT INTO tblB (tblA_id, usrnm, InsertDate)
select id, usrnm, InsertDate
from inserted i;
END;