C# 触发器显示两行受影响的T-SQL
我只想获取一次数据。怎么做?例如,仅从第一个动作开始 桌子 对我的表1采取的第一项行动C# 触发器显示两行受影响的T-SQL,c#,tsql,C#,Tsql,我只想获取一次数据。怎么做?例如,仅从第一个动作开始 桌子 对我的表1采取的第一项行动 INSERT INTO MyTABLE1 SELECT NAME, SURNAME FROM MyTABLE2 CREATE TRIGGER example on MyTABLE1 AFTER INSERT AS UPDATE MyTABLE1 SET USERNAME = 'sysUser1212' and USERDATE = '2004-09-02 00:00:00.000' 表
INSERT INTO MyTABLE1
SELECT NAME, SURNAME FROM MyTABLE2
CREATE TRIGGER example on MyTABLE1 AFTER INSERT
AS
UPDATE MyTABLE1
SET USERNAME = 'sysUser1212' and USERDATE = '2004-09-02 00:00:00.000'
表1的第二项行动
INSERT INTO MyTABLE1
SELECT NAME, SURNAME FROM MyTABLE2
CREATE TRIGGER example on MyTABLE1 AFTER INSERT
AS
UPDATE MyTABLE1
SET USERNAME = 'sysUser1212' and USERDATE = '2004-09-02 00:00:00.000'
我的表3中有两行受影响,但我只想得到一次
CREATE TRIGGER example2 on MyTABLE1 FOR INSERT UPDATE DELETE
AS
INSERT INTO MyTABLE3
SELECT NAME, SURNAME, USERNAME, USERDATE
from inserted
创建为而不是触发器 在内部,您可以在插入时将用户名替换为“sysUser1212”,将USERDATE替换为“2004-09-02 00:00:00.000”
CREATE TRIGGER examplex on MyTABLE1 INSTEAD OF INSERT
AS
INSERT MyTABLE1 (USERNAME, USERDATE, NAME, SURNAME)
SELECT
'sysUser1212'
, '2004-09-02 00:00:00.000'
, NAME
, SURNAME
FROM inserted
-- The following disapear
/*
CREATE TRIGGER example on MyTABLE1 AFTER INSERT
AS
UPDATE MyTABLE1
SET USERNAME = 'sysUser1212' and USERDATE = '2004-09-02 00:00:00.000'
--*/
你知道吗?@Serge谢谢你的回答。