求Oracle高手帮忙解答

执行if中的语句,就报缺失表达式的错syqsql:='insertintotbStat6(Humanid,Ywmc,Ssq,Xgsj)select'||p_partId|... 执行if中的语句,就报缺失表达式的错
syqsql := '
insert into tbStat6(Humanid, Ywmc, Ssq, Xgsj)
select '||p_partId||',业务名称,区县名称,
count(发证时间)'||','||'sum(建筑面积)'||','||'count(1)
from (select nvl(b.jzmj, 0) 建筑面积,
c.procid 业务大类标识,
c.subbizid 业务小类标识,
e.bizname 业务名称,
to_char(c.dbsj, ''yyyy/mm/dd'') 登簿时间,
to_char(c.fzsj, ''yyyy/mm/dd'') 发证时间,
c.cantoncode 行政区划,
f.cantonname 区县名称
from cqxx a, fwzk b, tbrec c, tbbiz e, tbcanton f
where a.recid(+) = b.recid
and b.recid = c.recid(+)
and c.subbizid = e.bizid
and c.cantoncode = f.cantoncode
and a.status = 1
and b.status = 1
and c.procid=iBizid
and c.dbsj'||l_startdate||'
and c.dbsj'||l_enddate||')
group by 业务大类标识,
业务小类标识,
业务名称,
区县名称,
行政区划 order by 行政区划';

if iCount = 1 then
execute immediate syqsql;
end if;
展开
 我来答
百度网友0951d78
2013-11-20 · TA获得超过1451个赞
知道小有建树答主
回答量:1727
采纳率:0%
帮助的人:1270万
展开全部
是你的insert的字段数小于select的字段数,

把count(发证时间)'||','||'sum(建筑面积)'||','||'count(1)改成

count(发证时间)||‘’,‘'||sum(建筑面积)||’',‘'||count(1)
更多追问追答
追问
还是不行,还是缺失表达式
追答
p_partId,
l_startdate,
l_enddate 的值是多少
heyongjia1999
2013-11-20 · 超过18用户采纳过TA的回答
知道答主
回答量:130
采纳率:0%
帮助的人:60万
展开全部
执行sql出错了。 检查一下sql的语法。。。
追问
我把insert语句拿去来执行,是可以执行的。
追答
当执行SQL语句时,不要用分号,当执行PL/SQL块时,在其尾部用分号.
把sql中的分号去掉试试。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式