0rcale怎么更新一列

mumuxiaofei 2016-11-19 04:30:58
现在有俩张表,sales和 goods,表的内容如下
myuser>select * from sales;

GNO UNO NUM
---------- ---------- ---------- --------------------
g001 u001 2
g001 u002 1
g002 u001 3
g002 u003 4

myuser>select * from goods;

GNO GNAME GPRICE TNO
---------- ---------- ---------- ----------
g001 water 2 t001
g002 milk 4 t001
g003 nuts 10 t002
g004 rice 30 t002
g005 apple 5 t003
g006 orange 3 t003
更改sales表结构,增加一列total,更新sales表中记录,total取值为数量*价格 更新后,表中数据为
GNO UNO NUM total
---------- ---------- ---------- --------------------
g001 u001 2 2
g001 u002 1 4
g002 u001 3 16
g002 u003 4 12
怎么做各位大神
...全文
134 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
mumuxiaofei 2016-11-19
  • 打赏
  • 举报
回复
谢谢
卖水果的net 2016-11-19
  • 打赏
  • 举报
回复

-- 你的贴子发重了,另一贴已回复你

SQL> 
SQL> create table sales(GNO varchar(10), UNO varchar(10), NUM int);
Table created
SQL> create table goods(GNO varchar(10), GNAME varchar(10), GPRICE int, TNO varchar(10));
Table created
SQL> begin
  2      insert into sales values('g001','u001',2);
  3      insert into sales values('g001','u002',1);
  4      insert into sales values('g002','u001',3);
  5      insert into sales values('g002','u003',4);
  6  
  7      insert into goods values('g001','water ',2  ,'t001');
  8      insert into goods values('g002','milk  ',4  ,'t001');
  9      insert into goods values('g003','nuts  ',10 ,'t002');
 10      insert into goods values('g004','rice  ',30 ,'t002');
 11      insert into goods values('g005','apple ',5  ,'t003');
 12      insert into goods values('g006','orange',3  ,'t003');
 13  end;
 14  /
PL/SQL procedure successfully completed
SQL> alter table sales add total int ;
Table altered
SQL> update sales t
  2  set total = (select t.num * gprice from goods where gno = t.gno)
  3  where exists(select * from goods where gno = t.gno);
4 rows updated
SQL> col num format a10;
SQL> col total format a10;
SQL> select * from sales ;
GNO        UNO               NUM      TOTAL
---------- ---------- ---------- ----------
g001       u001                2          4
g001       u002                1          2
g002       u001                3         12
g002       u003                4         16
SQL> drop table sales purge;
Table dropped
SQL> drop table goods purge;
Table dropped

SQL> 

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧