今天在书上看到两个概念:游标表达式和表函数,不是很明白,在网上查的资料也不怎么清楚,有没有人能帮忙讲讲啊,谢谢!

解决方案 »

  1.   


    Oracle游标表达式和表函数
      

  2.   

    http://www.baidu.com/s?bs=Oracle%D3%CE%B1%EA%B1%ED%B4%EF%CA%BD%BA%CD%B1%ED%BA%AF%CA%FD&f=8&wd=Oracle%D3%CE%B1%EA%B1%ED%B4%EF%CA%BD%BA%CD%B1%ED%BA%AF%CA%FD
      

  3.   

    表函数大概指的是pipeline function,游标表达式我猜可能是输入的参数是游标。例如select * from table(func(cursor(select 1 from dual))),其中cursor(...)应该指游标表达式。我觉得那篇文章的作者是不是翻译过度了,弄得写得很不专业。
      

  4.   

    游标的使用有点像编程里面的for循环加上一个容器;定义一个游标(注意游标类型),然后你查询处很多结果的话,你可以循环的先暂时放到这个游标里。然后用完这个游标记得关闭;
    结构是
    定义游标名称及类型
     想要注入的结果集
     打开游标
     循环注入记录
     关闭游标;
    OK。
    可能比喻不是很正确,但是使用起来就很像。
    (内部实际的结构是每一条,几乎每一条SQL语句在执行的时候都会在ORACLE数据库里产生一个游标;数据库默认是300条)