ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle一直在进步

oracle一直在进步

原创 Linux操作系统 作者:NinGoo 时间:2019-07-16 21:21:02 0 删除 编辑

Tom在《Expert one-on-one oracle》的分析函数一章中说,分析函数不能直接在PL/SQL块中使用,并且举了个例子,还给出了解决方法,就是使用动态refcursor,或者先创建一个view将分析函数放到view中,然后再在PL/SQL中访问该view。


但是那是Oracle8i时代的事情了,在oracle9i中(手头没有9iR1的版本,只在9201中测试过),该问题已经不复存在。


SQL> variable x refcursor
SQL> set autoprint on
SQL> begin
2 open :x for
3 select id,name,row_number() over(partition by id order by name) rnk from t;
4 end;
5 /

PL/SQL procedure successfully completed.


ID NAME RNK
---------- ----- ----------
1 a 1
1 b 2
1 c 3
2 a 1
2 b 2
2 c 3

6 rows selected.

oracle一直在进步,大师的作品也会落伍,所以,我们没有理由停下学习的脚步。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/193161/viewspace-50270/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2004-12-07

  • 博文量
    200
  • 访问量
    131909