oracle中的存储过程不能有select查询,你可以用游标

解决方案 »

  1.   

    你可以将一个新表,用存储过程计算出数据来,放到这个表中,然后再用pb数据窗口调用.
    另外,可以直接用存储过程作为数据源,建datawindow时,选择store procedure即可.
      

  2.   

    使用存储过程能够提高效率吗?如果是DML语句,可能会对效率有所影响,同样是查询,用不用PROCEDURE,应该对效率影响不大,还是从改善查询语句的效率和控制显示集的大小出发更有效一些。
      

  3.   

    同意Lastdrop(空杯) ,如果只是个关联查询,就是存储过程也很难加快速度。
    只能增加先关索引了,或者重新设计你的应用。
      

  4.   

    oracle的存储过程很恶心的,返回结果集很麻烦,而且PB不认用包返回的结果集合
      

  5.   

    re:我有一个DataWindow,其数据量很大,需关联好几个表,所以在retrieve后很慢!我认为datawindow retrieve很慢跟表数据量关系不是最主要的,主要跟你如retrieve返回的数据量有关,你测试一下,如果你只返回一行数据速度是很快的,另跟你的sql语句写法及表索引有关
      

  6.   

    我同意 fanwh(模范虎) 的看法。觉得是你的sql有问题。再提醒一下,datawindow是pb最具有特色的技术,不要轻易放弃使用。