insert into ...select..有子查询不能用在存储过程里面吗?

coldljy 2003-09-23 05:38:00
语句:
insert into RESM_SHOULDACCOUNT_DEBT_V(SUPPLIER_ID,SUPPLIER,pre_ACCOUNTED,ACCOUNTED_DR,ACCOUNTED_CR,ACCOUNTED)
select
rapd.vendor_id
,rapd.vendor_name
,((select nvl(sum(rrapd.ACCOUNTED_DR),0)
from resm.resm_ap_po_detail rrapd
where rrapd.SUPPLIER_ID = rapd.vendor_id
and rrapd.org_id = rapd.org_id
and rrapd.ACCOUNTED_CR is null
and rrapd.TRANSACTION_TYPE= 'RECEIVE'
and rrapd.gl_date < TRUNC(to_date('2003-9-1'),'mm')
)
-
((select nvl(sum(rrapd.ACCOUNTED_CR),0)
from resm.resm_ap_po_detail rrapd
where rrapd.SUPPLIER_ID = rapd.vendor_id
and rrapd.org_id = rapd.org_id
and rrapd.ACCOUNTED_DR is null
and rrapd.TRANSACTION_TYPE= 'RETURN TO VENDOR'
and rrapd.gl_date < TRUNC(to_date('2003-9-1'),'mm')
)
...


PS/SQL Developer中提示(单独运行是没问题的):
Compilation errors for PROCEDURE RESM.GET_SHOULDACCOUNT_DEBT

Error: PLS-00103: 出现符号 "SELECT"在需要下列之一时:
(-+modnotnullothers
<an identifier><a double-quoted delimited-identifier>
<a bind variable>avgcountcurrentexistsmaxminpriorsqlstddev
sumvarianceexecuteforalltimetimestampintervaldate
<a string literal with character set specification>
<a number><a single-quoted SQL string>
Line: 9
Text: ,((select nvl(sum(rrapd.ACCOUNTED_DR),0)

Error: PLS-00103: 出现符号 "-"在需要下列之一时:
;returnreturningandor
Line: 17
...全文
148 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
beckhambobo 2003-09-23
  • 打赏
  • 举报
回复
insert into RESM_SHOULDACCOUNT_DEBT_V(SUPPLIER_ID,SUPPLIER,pre_ACCOUNTED,ACCOUNTED_DR,ACCOUNTED_CR,ACCOUNTED)
select
rapd.vendor_id
,rapd.vendor_name
,((select sum(decode(rrapd.TRANSACTION_TYPE,'RECEIVE',rrapd.ACCOUNTED_DR))-sum(decode(rrapd.TRANSACTION_TYPE,'RETURN TO VENDOR',rrapd.ACCOUNTED_DR))
from resm.resm_ap_po_detail rrapd
where rrapd.SUPPLIER_ID = rapd.vendor_id
and rrapd.org_id = rapd.org_id
and rrapd.ACCOUNTED_CR is null
and rrapd.gl_date < TRUNC(to_date('2003-9-1'),'mm')
)
...
beckhambobo 2003-09-23
  • 打赏
  • 举报
回复
insert into RESM_SHOULDACCOUNT_DEBT_V(SUPPLIER_ID,SUPPLIER,pre_ACCOUNTED,ACCOUNTED_DR,ACCOUNTED_CR,ACCOUNTED)
select
rapd.vendor_id
,rapd.vendor_name
,((select sum(decode(rrapd.TRANSACTION_TYPE,'RECEIVE',rrapd.ACCOUNTED_DR))-sum(decode(rrapd.TRANSACTION_TYPE,'RETURN TO VENDOR',rrapd.ACCOUNTED_DR))
from resm.resm_ap_po_detail rrapd
where rrapd.SUPPLIER_ID = rapd.vendor_id
and rrapd.org_id = rapd.org_id
and rrapd.ACCOUNTED_CR is null
and rrapd.gl_date < TRUNC(to_date('2003-9-1'),'mm')
)
...
LGQDUCKY 2003-09-23
  • 打赏
  • 举报
回复
既然写在存储过程里,何必要写在一起呢?
分开写不是清晰点吗?
三杯倒 2003-09-23
  • 打赏
  • 举报
回复

insert into RESM_SHOULDACCOUNT_DEBT_V(SUPPLIER_ID,SUPPLIER,pre_ACCOUNTED,ACCOUNTED_DR,ACCOUNTED_CR,ACCOUNTED)
select
t.vendor_id,t.vendor_name,a.aa-b.bb
from resm.resm_ap_po_detail t, ((select nvl(sum(rrapd.ACCOUNTED_DR),0) aa
from resm.resm_ap_po_detail rrapd
where rrapd.SUPPLIER_ID = rapd.vendor_id
and rrapd.org_id = rapd.org_id
and rrapd.ACCOUNTED_CR is null
and rrapd.TRANSACTION_TYPE= 'RECEIVE'
and rrapd.gl_date < TRUNC(to_date('2003-9-1'),'mm')
) a,
((select nvl(sum(rrapd.ACCOUNTED_CR),0) bb
from resm.resm_ap_po_detail rrapd
where rrapd.SUPPLIER_ID = rapd.vendor_id
and rrapd.org_id = rapd.org_id
and rrapd.ACCOUNTED_DR is null
and rrapd.TRANSACTION_TYPE= 'RETURN TO VENDOR'
and rrapd.gl_date < TRUNC(to_date('2003-9-1'),'mm')
) b
三杯倒 2003-09-23
  • 打赏
  • 举报
回复
insert into RESM_SHOULDACCOUNT_DEBT_V(SUPPLIER_ID,SUPPLIER,pre_ACCOUNTED,ACCOUNTED_DR,ACCOUNTED_CR,ACCOUNTED)
select
rapd.vendor_id,rapd.vendor_name,a.aa-b.bb
from rapd, ((select nvl(sum(rrapd.ACCOUNTED_DR),0) aa
from resm.resm_ap_po_detail rrapd
where rrapd.SUPPLIER_ID = rapd.vendor_id
and rrapd.org_id = rapd.org_id
and rrapd.ACCOUNTED_CR is null
and rrapd.TRANSACTION_TYPE= 'RECEIVE'
and rrapd.gl_date < TRUNC(to_date('2003-9-1'),'mm')
) a,
((select nvl(sum(rrapd.ACCOUNTED_CR),0) bb
from resm.resm_ap_po_detail rrapd
where rrapd.SUPPLIER_ID = rapd.vendor_id
and rrapd.org_id = rapd.org_id
and rrapd.ACCOUNTED_DR is null
and rrapd.TRANSACTION_TYPE= 'RETURN TO VENDOR'
and rrapd.gl_date < TRUNC(to_date('2003-9-1'),'mm')
) b

17,377

社区成员

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

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