identifier too long和取存储过程返回值问题

familyX 2009-02-27 09:57:36
大家帮忙看下V_SQL这句报错:: identifier 'select d.id ,c.startdate,c.end' too long。
还有就是在一个存储过程中怎么样调用另一个存储过程,并取他的返回值啊。谢谢了!!

udcursor :=dbms_sql.open_cursor;
v_sql :="select d.id ,c.startdate,c.enddate from "||sqlstr||" where "||wherestr||" and ((c.startdate>=to_date('2009-1-1','yyyy-mm-dd') and c.ENDDATE<=to_date('2009-12-31','yyyy-mm-dd')) or (c.startdate<=to_date('2009-1-1','yyyy-mm-dd')and c.enddate>=to_date('2009-12-31','yyyy-mm-dd')) or (c.startdate<=to_date('2009-1-1','yyyy-mm-dd') and c.enddate>=to_date('2009-1-1','yyyy-mm-dd') and c.enddate<=to_date('2009-1-1','yyyy-mm-dd')) or (c.startdate>=to_date('2009-1-1','yyyy-mm-dd') and c.startdate<=to_date('2009-12-31','yyyy-mm-dd') and c.enddate>=to_date('2009-12-31','yyyy-mm-dd'))) order by eid";/*这句报错:: identifier 'select d.id ,c.startdate,c.end' too long*/
dbms_sql.parse(udcursor,v_sql,dbms_sql.native);
...全文
100 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
oraclelogan 2009-02-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 familyX 的帖子:]
大家帮忙看下V_SQL这句报错:: identifier 'select d.id ,c.startdate,c.end' too long。
还有就是在一个存储过程中怎么样调用另一个存储过程,并取他的返回值啊。谢谢了!!

SQL code
udcursor :=dbms_sql.open_cursor;
v_sql :="select d.id ,c.startdate,c.enddate from "||sqlstr||" where "||wherestr||" and ((c.startdate>=to_date('2009-1-1','yyyy-mm-dd') and c.ENDDATE<=to_date('2009-12-31','yyyy-mm-dd'))…
[/Quote]

等待开发高手过来解决问题,学习!
familyX 2009-02-27
  • 打赏
  • 举报
回复
失望了,居然没人会,存储过程调用存储过程,并取返回值也没人会。郁闷。。。
familyX 2009-02-27
  • 打赏
  • 举报
回复
因为有多个,只是sql语句有一点不一样,如果我直接写就要写好几个过程。如果能用参数,一个就可以了啊。
Andy__Huang 2009-02-27
  • 打赏
  • 举报
回复
sql语句那么长,
直接把sql语句放到存储过程里面执行不好吗
familyX 2009-02-27
  • 打赏
  • 举报
回复
up

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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