在proc中用以下嵌入SQL查询oracle库提示ORA-01036: illegal name/numberchar select_stmt[300] = "select t1.org_city, t1.iflt, sum(t1.num), max(t1.ntotal) as mquantity from \
(select org_city, iflt, adult+child as num, \
sum(adult+child) over (partition by org_city) as ntotal \
from tbl_cstd \
where cki_date>=:sdate and cki_date<=:edate and airline=:airline \
order by 4 desc) t1 \
group by t1.org_city, t1.iflt \
order by mquantity desc, t1.org_city, t1.iflt";
EXEC SQL PREPARE sql_stmt FROM :select_stmt;
EXEC SQL DECLARE c5 CURSOR FOR sql_stmt;
EXEC SQL OPEN c5 USING :sdate, :edate, :airline; 可是我用其中的sql在plsql中执行就可以,这里是哪里用到了不该用的字符?请高手指点!谢谢!
(select org_city, iflt, adult+child as num, \
sum(adult+child) over (partition by org_city) as ntotal \
from tbl_cstd \
where cki_date>=:sdate and cki_date<=:edate and airline=:airline \
order by 4 desc) t1 \
group by t1.org_city, t1.iflt \
order by mquantity desc, t1.org_city, t1.iflt";
EXEC SQL PREPARE sql_stmt FROM :select_stmt;
EXEC SQL DECLARE c5 CURSOR FOR sql_stmt;
EXEC SQL OPEN c5 USING :sdate, :edate, :airline; 可是我用其中的sql在plsql中执行就可以,这里是哪里用到了不该用的字符?请高手指点!谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货