快请进帮忙,有个问题需要您的提示 在一个存储过程中我需要动态创建一个临时的表,然后在这个表中插入一些数据。而后要把这个临时表中的数据提取出来,我想问的是:在提取这个动态创建的临时表中的数据时,是否必须用到游标变量呢?或是有其它的方法解决。我不清楚,请提示! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是用TYPE ... IS TABLE OF ...还是用 EXECUTE IMMEDIATE 'CREAT TABLE ....'呢? 表是在程序中动态创建的,用的是EXECUTE IMMEDIATE 'CREAT TABLE 。 用EXECUTE IMMEDIATE 'CREAT TABLE 。 的话,这张表应该已经确实建立起来了,并且execute执行完毕之后,才会接着进行其他的操作。个人感觉只要你建立起这个表,可以不算临时表了吧?即使你只是临时使用它回来立刻drop。只要按照楼主说的情况,表建立起来了,那么就可以直接从里面取值。你 'CREAT TABLE 后面的表名如果不是动态的,例如你写'CREAT TABLE aaa 的话,可以直接从aaa 读取。 如果是建立动态的表 'CREAT TABLE '||table_bbb||' 的话, 那么读取动态建立表的值,觉得用动态游标比较好取得,例如 type type_cur is ref cursor;cursor_d type_cur;begin open cursor_d for 'select xxxxxxxxxx from '||table_bbb||'t '; FETCH cursor_d INTO v_xxxxx;........................................ 求助 oracle 数据备份 急急急!!! 两张表关联查询 关于存储过程与游标的使用 使用OTL多线程高速访问oracle的问题!!! 【小菜问题1】の如何肯大骨头 请大大门帮忙想个SQL java调用hibernate去查询oracle数据库,其中:冒号问题,总是将冒号和后面的数认为是入参 高手指点! 我说一下我学习oracle的经历(转帖) 监听器的起动问题! pro*C ORACLE存储过程调用外部c程序
还是用 EXECUTE IMMEDIATE 'CREAT TABLE ....'呢?
个人感觉只要你建立起这个表,可以不算临时表了吧?即使你只是临时使用它回来立刻drop。
只要按照楼主说的情况,表建立起来了,那么就可以直接从里面取值。你 'CREAT TABLE 后面的表名如果不是动态的,例如你写'CREAT TABLE aaa 的话,可以直接从aaa 读取。 如果是建立动态的表 'CREAT TABLE '||table_bbb||' 的话, 那么读取动态建立表的值,觉得用动态游标比较好取得,例如
type type_cur is ref cursor;
cursor_d type_cur;begin
open cursor_d for 'select xxxxxxxxxx
from '||table_bbb||'t ';
FETCH cursor_d INTO v_xxxxx;........................................