我们希望在从表中的select语句填充的过程中填充游标 .
我们创建了一个名为stored_sql_statments的表,其中包含2列Created_date和Sql_statement . 在该表中,我们将插入一个select语句,该语句根据客户端的需要从数据库中选择其他数据 . 示例:插入到stored_sql_statments(Created_date,Sql_statement)值('2/1/2011','选择Client_idn,来自cool_table的something_neat,其中animal ='dog'')
然后在这个过程中,我们有一堆代码可以完成它需要做的事情,它永远不会改变,但是我们在游标中的select语句会定期更改 . 我们总是需要返回2个字段,但select语句的其余部分会更改 .
所以现在我们需要在过程中使用select语句填充表格中的游标 . 如果它只返回1行我们有:声明x varchar2(600); rec1号码(10); rec2 varchar2(15);开始执行立即从stored_sql_statments中选择Sql_statement为x,其中created_date ='2/1/2011';执行立即x到rec1,rec2; ...
这是有效的,但我们不需要它进入我需要它进入游标的2个变量 . 真正的select语句(上面的代码只是我们需要做的一个简单例子)带回了数千条记录,因此我们需要使用游标 .
希望这一切都有意义
所以,如果有人知道如何做到这一点,将不胜感激 .
2 回答
你想尝试dynamically populate a ref cursor吗?如果这样做并不难:
如您所见,我在同一过程中动态执行两个不同的select语句并输出结果 .