我需要一个sql语句,在一个数据库表中插入一个新行,并根据一些条件更新另一个数据库表中的现有行。需要一个sql语句来做upate并同时插入
有没有办法做到这一点?在一个表中插入一行并在一个sql语句中更新另一个数据库表中的行?
在此先感谢!
我需要一个sql语句,在一个数据库表中插入一个新行,并根据一些条件更新另一个数据库表中的现有行。需要一个sql语句来做upate并同时插入
有没有办法做到这一点?在一个表中插入一行并在一个sql语句中更新另一个数据库表中的行?
在此先感谢!
是的,他们被称为Transactions,并实现与START TRANSACTION and COMMIT/ROLLBACK
的东西,如:
START TRANSACTION;
INSERT INTO ...
UPDATE table2 SET name='TOTO' WHERE type=1;
COMMIT;
编辑
这其实也不是一个 SQL查询,但操作完成原子 - 我认为这是你需要的。
您可以使用Trigger
上第一台插入
一个SQL语句,可以更新一个表更新第二个表,没有几个;如果该语句是MERGE
,那么您可以指定插入/更新/删除操作,但仍然只针对同一个目标表。
如果您只是想要一致性,请使用事务;直到一个交易被提交,它内部的改变对外界来说是不可见的。
如果您希望单个更新(无法控制)导致协调插入,请在正在更新的表中使用on update
触发器。触发器会将适当的行插入到其他表中。
是的,存储过程是可能的。
你使用什么数据库系统? –