嵌套查询oracle缺点,存储过程小疑点,关于嵌套查询,

当前位置:我的异常网» Oracle开发 » 存储过程小疑点,关于嵌套查询,

存储过程小疑点,关于嵌套查询,

www.myexceptions.net  网友分享于:2013-03-09  浏览:35次

存储过程小问题,关于嵌套查询,急!!!!在线等...

create   or   replace   procedure   MIS_UpdateOutPrice(ibilldate   in   date,iGoodsid   in   varchar2)   is

aprices         Number;

begin

--1操作领料单,更改当前单据之后的单据中的货品平均价及总金额

declare

cursor   mycursor   is

Select   billcode,billdate,itemno,Row_id   from   MIS_RPT_OUTSTORELL_VIEW

where   goodsid= ' '||iGoodsid|| ' '   and   billdate> =ibilldate;

cursorrecord   mycursor%rowtype;

begin

open   mycursor;

if   mycursor%isopen   then

loop

fetch   mycursor   into   cursorrecord;

--统计平均价//下面的sql   语句有问题,提示:嵌套分组函数没有group   by

select   DECODE(sum(count),0,0,round(sum(total)/sum(count),4))   as   price   into   aprices

from   (select   sum(MIS_GetUnitRate(GOODSID,UNITID,initcount)+MIS_GetUnitRate(GOODSID,UNITID,INCOUNT)-MIS_GetUnitRate(GOODSID,UNITID,outcount))   as   count

,sum(inittotalmoney+INTOTALMONEY-outTOTALMONEY)   as   total

from   MIS_rpt_outin_VIEW   where   GOODSID=iGoodsid   and   (billdate

union

select   sum(MIS_GetUnitRate(GOODSID,UNITID,initcount)+MIS_GetUnitRate(GOODSID,UNITID,INCOUNT)-MIS_GetUnitRate(GOODSID,UNITID,outcount))   as   count

,sum(inittotalmoney+INTOTALMONEY-outTOTALMONEY)   as   total

from   MIS_rpt_outin_VIEW   where   GOODSID=iGoodsid

and   (billdate=cursorrecord.billdate

and   billcode < ' '||cursorrecord.billcode|| ' '));

--end

if   aprices <> 0   then

--更新明细表平均价

update   MIS_OUTSTORE_LLDETAIL   set   UNITPRICE=aprices   where   ITEMNO=cursorrecord.itemno;

文章评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值