C# 触发器显示两行受影响的T-SQL

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' 表

我只想获取一次数据。怎么做?例如,仅从第一个动作开始

桌子

对我的表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'
表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谢谢你的回答。