--oracle更新数据库
/*假设A表存储的是商品的价格,而B表存储的是商品打折后的钱。将A表的所有商品的价格更新为打折后的价格。*/
create table proA
(
pid number(10),
price number(18,2)
);
insert all into proA
(pid,price)
values(1,1000)
into proA
values(2,900)
into proA
values(3,600)
select * from dual;
select * from proA;
--创建打折后的商品表
create table proB as select * from proA where 1=2;
insert all into proB
(pid,price)
values(1,800)
into proB
values(2,720)
into proB
values(3,480)
select * from dual;
--将商品的价格改为打折后的价格
update proA t1
set (t1.price) =
(select t2.price from proB t2 where t1.pid = t2.pid);
select * from proA;
--gp数据库写法
update proA t1 set t1.price = t2.price from proB t2 where t1.pid = t2.pid;
假设A表存储的是商品的价格,而B表存储的是商品打折后的钱。将A表的所有商品的价格更新为打折后的价格。
更新前A表的数据
更新后A表的数据