Sql server 添加修改和删除以插入触发器

Sql server 添加修改和删除以插入触发器,sql-server,triggers,insert,dml,Sql Server,Triggers,Insert,Dml,我的任务是将记录从一个表(T1)推送到另一个表(T2)。我已完成插入部分,如下所示: CREATE TRIGGER [dbo].[CP_to_TW2] ON [dbo].[TEST_PROJ] FOR INSERT AS BEGIN INSERT INTO dbo.TEST_TW (PROJECT_ID,PROJECT_DESC,PROJECT_MANAGER) SELECT PROJ_ID,PROJ_ID+PROJ_NAME,PROJECT_MANAGER FROM in

我的任务是将记录从一个表(T1)推送到另一个表(T2)。我已完成插入部分,如下所示:

CREATE TRIGGER [dbo].[CP_to_TW2] 
   ON  [dbo].[TEST_PROJ] 
   FOR INSERT
AS 
BEGIN
INSERT INTO dbo.TEST_TW (PROJECT_ID,PROJECT_DESC,PROJECT_MANAGER) 
SELECT PROJ_ID,PROJ_ID+PROJ_NAME,PROJECT_MANAGER FROM inserted

END

测试项目为T1,测试项目为T2。项目ID和项目ID列存储唯一ID。触发器触发correct并将相应的行插入T2。但是,我不确定如何修改T1以显示在T2中。例如,如果项目经理在T1中更新,那么它也需要在T2中更新。除此之外,我不确定如何使T2中的记录在T1中删除时被删除。任何帮助都将不胜感激。

您还可以为删除或更新操作创建触发器,在更新中,除了插入操作之外,您还删除了表

CREATE TRIGGER [dbo].[CP_to_TW2] 
   ON  [dbo].[TEST_PROJ] 
   AFTER UPDATE
AS 
BEGIN
UPDATE TEST_TW....

END

CREATE TRIGGER [dbo].[CP_to_TW2] 
   ON  [dbo].[TEST_PROJ] 
   AFTER DELETE
AS 
BEGIN
DELETE FROM dbo.TEST_TW (PROJECT_ID,PROJECT_DESC,PROJECT_MANAGER) 
WHERE xxx in (SELECT xxx FROM deleted)


END

您可以使用update语句来执行此操作。像这样的帮助?谢谢你,西蒙。我首先处理更新部分,并有以下内容:在[dbo].[TEST_PROJ]上更改触发器[dbo].[CP_to_TW3],更新后将其更改为BEGIN UPDATE dbo.TEST_TW SET TEST_TW.PROJECT_ID=TEST_PROJ.PROJ_ID,TEST_TW.PROJECT_DESC=TEST_PROJ.PROJ_ID+TEST_PROJ.PROJ_NAME,TEST_TW.PROJECT_MANAGER=TEST_PROJ.PROJECT_MANAGER FROM TEST_TW internal JOIN TEST_PROJ ON TEST_TW.PROJECT_ID=TEST_PROJ.PROJ_ID END当我添加新字段时,它不会触发。你能指出我哪里出错了吗?在更新触发器中,你已经插入和删除了;i f=将在[dbo].[TEST\u PROJ]更新后在[dbo].[TEST\u TW]上尝试类似这样的更改触发器[dbo].[CP\u to\u TW3],作为开始更新dbo.TEST\u TW SET TEST\u TW.PROJECT\u ID=T.PROJ\u ID,TEST\u TW.PROJECT\u DESC=T.PROJ\u ID+T.PROJ\u NAME,TEST\u TW.PROJECT\u MANAGER=T.prou经理从TEST\u TW内部连接删除T\u TW.PROJ\u ID=T。假设您必须确保两个表必须共享相同的数据以获得UpDATEAHH,OK。这更有意义。谢谢