我有tblA
和tblB
。
+----------------------------------------------------+
| tblA |
+----------------------------------------------------+
| id | INT IDENTITY(1,1), PRIMARY KEY |
+------------+---------------------------------------+
| usrnm | nvarchar[50], NOT NULL |
+------------+---------------------------------------+
| InsertDate | DateTime DEFAULT(getdate()), NOT NULL |
+------------+---------------------------------------+
和
+----------------------------------------------------+
| tblB |
+----------------------------------------------------+
| id | INT IDENTITY(1,1), PRIMARY KEY |
+------------+---------------------------------------+
| tblA_id | INT, NOT NULL |
+------------+---------------------------------------+
| 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值?
用途inserted
:
CREATE TRIGGER AutoInsert ON tblA AFTER INSERT AS
BEGIN
INSERT INTO tblB (tblA_id, usrnm, InsertDate)
select id, usrnm, InsertDate
from inserted i;
END;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句