需要一个sql语句来同时执行upate和insert

需要一个sql语句来同时执行upate和insert,sql,sql-update,sql-insert,Sql,Sql Update,Sql Insert,我需要一个sql语句,在一个数据库表中插入新行,并根据某些条件更新另一个数据库表中的现有行 有办法做到这一点吗?要在一个sql语句中在一个表中插入一行并更新另一个数据库表中的一行 提前谢谢 是的,它们被调用,并通过以下方式实现: START TRANSACTION; INSERT INTO ... UPDATE table2 SET name='TOTO' WHERE type=1; COMMIT; 编辑 这实际上不是一个SQL查询,但操作是以原子方式完成的,我认为这就是您所需要的。是

我需要一个sql语句,在一个数据库表中插入新行,并根据某些条件更新另一个数据库表中的现有行

有办法做到这一点吗?要在一个sql语句中在一个表中插入一行并更新另一个数据库表中的一行

提前谢谢

是的,它们被调用,并通过以下方式实现:

START TRANSACTION;
  INSERT INTO ...
  UPDATE table2 SET name='TOTO' WHERE type=1;
COMMIT;
编辑

这实际上不是一个SQL查询,但操作是以原子方式完成的,我认为这就是您所需要的。

是的,它们被调用,并通过以下方式实现:

START TRANSACTION;
  INSERT INTO ...
  UPDATE table2 SET name='TOTO' WHERE type=1;
COMMIT;
编辑


这实际上不是一个SQL查询,但操作是以原子方式完成的——我认为这就是您所需要的。

您可以使用
触发器
在插入第一个表时更新第二个表

您可以使用
触发器
在插入第一个表时更新第二个表

单个SQL语句允许您更新一个表,不是几个;如果该语句是一个表,则可以指定insert/update/delete操作,但仍以同一个目标表为目标

如果您只是想要一致性,那么使用事务;在提交事务之前,外部世界看不到事务中的更改


如果希望单个更新(您无法控制)导致协调插入,请在正在更新的表中使用
on update
触发器。触发器将在其他表中插入适当的行。

单个SQL语句允许您更新一个表,而不是多个表;如果该语句是一个表,则可以指定insert/update/delete操作,但仍以同一个目标表为目标

如果您只是想要一致性,那么使用事务;在提交事务之前,外部世界看不到事务中的更改


如果希望单个更新(您无法控制)导致协调插入,请在正在更新的表中使用
on update
触发器。触发器将在其他表中插入适当的行。

是的,存储过程也可以这样做


注意这一点:

是的,可以使用存储过程


注意:

您使用的是什么数据库系统?您使用的是什么数据库系统?