oracle 中游标怎么多次赋值!!!!!
oracle中游标怎么多次赋值。例如1》open游标forselect。。。2》open游标forselect。。。3>open游标forselect。。。能不能将三次的...
oracle 中游标怎么多次赋值。
例如
1》open 游标 for select 。。。
2》 open 游标 for select 。。。
3> open 游标 for select 。。。
能不能将 三次的内容都保存在 游标里面,(说明 不使用union all的方式 )
恩,那有没有其他好一点的方法,目前我使用的动态语句实现,但using 后面的变量个个数无法确定,open 游标 for ‘select :1,:2 from dual union select :3,:4 from dual union select :5,:6 from dual ...... ’ using 变量1,变量2 变量3 变量4 变量5 变量6 ..... 项目代码 重构非常耗时,所以就想 使用 提问里面的方法。 展开
例如
1》open 游标 for select 。。。
2》 open 游标 for select 。。。
3> open 游标 for select 。。。
能不能将 三次的内容都保存在 游标里面,(说明 不使用union all的方式 )
恩,那有没有其他好一点的方法,目前我使用的动态语句实现,但using 后面的变量个个数无法确定,open 游标 for ‘select :1,:2 from dual union select :3,:4 from dual union select :5,:6 from dual ...... ’ using 变量1,变量2 变量3 变量4 变量5 变量6 ..... 项目代码 重构非常耗时,所以就想 使用 提问里面的方法。 展开
3个回答
展开全部
1、不用union的方式是达不到你说的效果的
2、游标实际上是数据在内存中的地址,在open的时候将数据放入内存(如果内存足够大,能一次放下所有数据的话,实际上一般是部分放入内存),然后将这块内存的首地址返回,就是游标,指向第一条数据。
3、当fetch的时候,游标地址自动+1,指向下一条记录
4、所以游标实际上就是一个地址,指向数据的首地址,按照你的写法,每一次的open 都会将新的地址赋给游标,结果是如果游标名称一样的话,最后只会有最后的数据的首地址,而不会将三部分数据合并到一起。
---
以上,希望对你有所帮助。
2、游标实际上是数据在内存中的地址,在open的时候将数据放入内存(如果内存足够大,能一次放下所有数据的话,实际上一般是部分放入内存),然后将这块内存的首地址返回,就是游标,指向第一条数据。
3、当fetch的时候,游标地址自动+1,指向下一条记录
4、所以游标实际上就是一个地址,指向数据的首地址,按照你的写法,每一次的open 都会将新的地址赋给游标,结果是如果游标名称一样的话,最后只会有最后的数据的首地址,而不会将三部分数据合并到一起。
---
以上,希望对你有所帮助。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询