Oracle Ref Cursors只能用于过程和函数,还是可以用于通过ODP.NET OracleCommand对象发布的PL / SQL(在CommandText属性中包含为字符串)?
答案 0 :(得分:1)
这取决于你想要完成的任务。
您当然可以从.Net或内部使用REF CURSOR
的Java应用程序执行匿名PL / SQL块。但是,由于匿名PL / SQL块不接受或返回参数,因此您无法将在匿名PL / SQL块中打开的REF CURSOR
返回给调用应用程序。
从应用程序架构的角度来看,我强烈建议如果您需要进行需要PL / SQL的处理,那么该处理应该合并到一个命名的PL / SQL块(一个过程或一个函数)中。包并存储在数据库中。在PL / SQL中实现的逻辑存储在数据库之外通常是个坏主意。