【PostgresSQL】同时更新两个表

UPDATE table1 SET column = value
FROM table2
WHERE table1.column2 = table2.column2
时间: 2024-11-08 08:33:13

【PostgresSQL】同时更新两个表的相关文章

用一句sql语句更新两个表并可更新对应的字段的值

ACCESS 例子: insert into products (ProNumber,CASNumber,Cnname,Price,Enname,Baozhuang,Pinpai) select ProNumber,CASNumber,Cnname,Price,Enname,Baozhuang,Pinpai from product22 1.用一句sql从一个表里面取出数据导入另外一个表里面.这个对不同程序之间的数据转换很有用处,而且速度快,数据完整: insert into table1 (c

差异更新两个表

CREATE TABLE Temp_A ( Emp_No VARCHAR(7) , Emp_Name VARCHAR(20) ) CREATE TABLE Temp_B ( Emp_No VARCHAR(7) , Emp_Name VARCHAR(20) ) INSERT INTO Temp_A VALUES ( '0000001', '张飞' ) INSERT INTO Temp_A VALUES ( '0000002', '吕布' ) INSERT INTO Temp_A VALUES (

2016.2.13 (年初六) oracle两张表update方法

A表customers和B表tmp_cust_city有3个相同字段, customer_id,city_name,customer_type 现要根据b表更新a表 更新一个字段情况: update customers a set city_name=(select b.city_name from tmp_cust_city b where b.customer_id=a.customer_id) where exists (select 1 from tmp_cust_city b wher

两张表A和B,各有一个字段,更新时间A.MODIFIED_TM和B.MODIFIED_TM,A表为主表,更新时间不为空,但是B表更新时间可能为空,现在要取A、B两表时间最新的那个,B.MODIFIED

问题描述: 两张表A和B,各有一个字段,更新时间A.MODIFIED_TM和B.MODIFIED_TM,A表为主表,更新时间不为空,但是B表更新时间可能为空,现在要取A.B两表时间最新的那个,B.MODIFIED_TM若为空就取A.MODIFIED_TM,例如: 表A ID    MODIFIED_TM 1     2013/3/10 18:07:12 2     2013/4/10 18:07:12 3     2013/5/10 18:07:12 表B ID    MODIFIED_TM 1

sql语句问题 通过联立两个表更新其中一个表的字段

============问题描述============ 有两个表a和b,a表中的字段有mobilehead(号码前7位),provincename,b表中有mobile(正常号码),provincename,需求是通过联立两个表,更新b表中provincename为空的数据. ============解决方案1============ 可以这样做 UPDATE    b SET            b.PN = a.PN FROM         a   WHERE     b.PN = '

SQL两表之间:根据一个表的字段更新另一个表的字段

1. 写法轻松,更新效率高: update table1 set field1=table2.field1, field2=table2.field2 from table2 where table1.id=table2.id 2. 常规方式,种写法相当于一个 Left join, 以外面的where为更新条数,如果不加where就是所有记录 update table1 set field1=(select top 1 field1 from table2 where table2.id=tab

Oracle两张表关联批量更新其中一张表的数据

Oracle两张表关联批量更新其中一张表的数据 方法一(推荐): UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXISTS (SELECT 1 FROM 表1 WHERE 表1.A = 表2.A); 尤其注意最后的外层where条件尤为重要,是锁定其批量更新数据的范围. 方法二: MERGE INTO 表2 USING 表1 ON (表2.A = 表1.A) -- 条件是 A 相同 WHEN MATCHED TH

数据库中两张表之间的数据同步实现思路(增加、删除、更新)Mysql、sqlserver

分别创建增加.删除.更新的触发器(Trigger)来达到两张表之间数据同步的目的. 1:数据同步增加:如有两张表--A表和B表,创建触发器使当A表插入数据后B表也同步插入数据.其中B表插入数据的字段需要同A表中的字段相对应. CREATE TRIGGER 触发器名称 ON A表 AFTER INSERT AS BEGIN INSERT INTO B表(B表字段1,B表字段2,B表字段3) SELECT A表字段1,A表字段2,A表字段3 FROM INSERTED END 2.数据同步删除:如有

MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)

有两张表,info1, info2 . info1: info2: 现在,要用info2中的数据更新info1中对应的学生信息,sql语句如下: UPDATE info1 t1 JOIN info2 t2 ON t1.name = t2.name SET t1.age = t2.age, t1.class = t2.class; 运行结果如下: 更新过的info1: 至于效率问题,之前我有三张表,都在40万左右.需要将 table2 中的两个字段(step1),table3 中的一个字段(ste