Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 对于插入,在插入后更新not,前面已经问过同样的问题,我们需要而不是插入,更新not,插入后query@adams . . . 谢谢。我们需要而不是INSERT,在上面的INSERT之后更新query@adams . . . 非常感谢。 ALTER TRI_Sql_Sql Server_Tsql_Triggers - Fatal编程技术网

Sql 对于插入,在插入后更新not,前面已经问过同样的问题,我们需要而不是插入,更新not,插入后query@adams . . . 谢谢。我们需要而不是INSERT,在上面的INSERT之后更新query@adams . . . 非常感谢。 ALTER TRI

Sql 对于插入,在插入后更新not,前面已经问过同样的问题,我们需要而不是插入,更新not,插入后query@adams . . . 谢谢。我们需要而不是INSERT,在上面的INSERT之后更新query@adams . . . 非常感谢。 ALTER TRI,sql,sql-server,tsql,triggers,Sql,Sql Server,Tsql,Triggers,对于插入,在插入后更新not,前面已经问过同样的问题,我们需要而不是插入,更新not,插入后query@adams . . . 谢谢。我们需要而不是INSERT,在上面的INSERT之后更新query@adams . . . 非常感谢。 ALTER TRIGGER MyTrigger ON persons AFTER INSERT AS IF EXISTS(SELECT * FROM Persons t INNER JOI


对于插入,在插入后更新not
前面已经问过同样的问题,我们需要
而不是插入,更新
not
插入后query@adams . . . 谢谢。我们需要
而不是INSERT,在上面的INSERT
之后更新
query@adams . . . 非常感谢。
ALTER TRIGGER MyTrigger 
ON persons 
AFTER INSERT
AS 
    IF EXISTS(SELECT * 
              FROM Persons t 
              INNER JOIN inserted i ON i.LastName <> t.LastName 
                                    OR i.FirstName <> t.FirstName 
                                    OR i.address <> t.address 
                                    OR i.City <> t.City 
                                    AND i.PersonID = t.PersonID) 
    BEGIN
        UPDATE p 
        SET p.LastName = i.LastName, 
            p.FirstName = i.FirstName,
            p.address = i.address,
            p.City = i.City
        FROM persons AS p
        INNER JOIN inserted i ON p.PersonID <> i.PersonID
        WHERE p.PersonID = i.PersonID 
    END
CREATE TRIGGER <Trigger Name Here>
ON <Table Name Here>
INSTEAD OF INSERT, UPDATE
AS
  INSERT INTO <Table Name Here>
  SELECT I.*
  FROM INSERTED I INNER JOIN <Table Name Here> T
  ON I.ID <> T.ID; --Insert all rows with the ID does not exists in the table

  UPDATE T
  SET T.FirstName = I.FirstName,
      T.LastName = I.LastName,
      T.Address = I.Address,
      T.City = I.City
  FROM INSERTED I INNER JOIN <Table Name Here> T
  ON T.ID = I.ID --UPDATE all rows with the same ID already exists in the table
  WHERE T.FirstName <> I.FirstName
        AND --OR
        T.LastName <> I.LastName
        AND --OR
        T.Address <> I.Address
        AND --OR
        T.City <> I.City;
ALTER TRIGGER MyTrigger ON persons INSTEAD OF INSERT
AS 
BEGIN
    -- Insert person ids that are new
    INSERT INTO persons
        SELECT i.*
        FROM inserted i
        WHERE NOT EXISTS (SELECT 1
                          FROM persons p
                          WHERE i.PersonID = p.PersonID
                         );

    -- update existing person ids
    UPDATE p 
        SET p.LastName = i.LastName, 
            p.FirstName = i.FirstName,
            p.address = i.address,
            p.City = i.City
        FROM persons p INNER JOIN
             inserted i
             ON p.PersonID = i.PersonID
        WHERE p.LastName <> i.LastName OR 
              p.FirstName <> i.FirstName OR
              p.address <> i.address OR
              p.City <> i.City;
END;  -- MyTrigger
 create stored procedure USP_UpsertPerson
(
    @personId
    @ other inputsinputs
)


AS 
BEGIN
 IF( @personId IS NOT NULL)
BEGIN
 ----------- here Update table script With @personId
END
ELSE
BEGIN
   ----------- here Insert table script
END
END 
GO