`
diystyle
  • 浏览: 38093 次
文章分类
社区版块
存档分类
最新评论

使用oracle返回游标中带有临时表问题

阅读更多
最近碰到一个通过oracle游标返回结果集问题,游标中的语句如果涉及到临时表的话,就导致返回的数据是空的,请教同事后,原来临时表的定义有点问题,原来的方式是:
1.create global temporary table TEMPDATA
(
  N1  NUMBER(22,7),
...
)
on commit delete rows;


改成如下即可解决问题
2.create global temporary table TEMPDATA
(
  N1  NUMBER(22,7),
...
)
on commit preserve rows;
原来是会话特有的临时表,commit之后,表数据仍然存在。如果使用临时表返回数据,类似于  open cur_XX for select * from tempdaXX,那么就要使用commit preserve rows方式,否则游标数据无法在过程之外读取,因为在commit时数据已经被delete了。
分享到:
评论

相关推荐

    详解Oracle隐式游标和显式游标

    -- 隐式游标 (使用的表为Oracle默认自带的emp表) -- sql%rowcount:影响记录条数 sql%found:是否有满足条件的记录 set serveroutput on; declare v_ename a_emp.ename%type; begin select ename into v_ename ...

    Oracle Database 11g初学者指南--详细书签版

    CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 Oracle Database 11g初学者指南 基本信息 原书名: Oracle Database 11g, A Beginner's Guide 原出版社: ...

    oracle数据库经典题目

    7.如果需要向表中插入一批已经存在的数据,可以在INSERT语句中使用Select语句。 8.使用Describe命令可以显示表的结构信息。 9.使用SQL*Plus的Get命令可以将文件检索到缓冲区,并且不执行。 10.使用Save命令可以将...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分别表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据,在具体...

    Oracle9i的init.ora参数中文说明

    说明: (如果值为 TRUE) 当在隐式转换中丢失数据时返回错误的参数。 值范围: FALSE | TRUE 默认值: TRUE nls_numeric_characters: 说明: 指定将用作组分隔符和小数位的字符。组分隔符就是用来分隔整数位组 (如千, ...

    PL/SQL 基础.doc

    单纯的计算---->BINARY_INTEGER 考虑和表中其他数据的交互的话一般------->NUMBER 字符型、CHAR VARCHAR VARCHAR2 STRING LONG 一般CHAR VARCHAR2就够了 CHAR 定长(例子:CHAR(5) 如果不够5个字符的话就会用空白...

    Oracle事例

    当指定时,如果父表中的记录被删除,则依赖于父表的记录也被删除 REFERENCE 表名() on delete cascade; 7、删除带约束的表 Drop table 表名 cascade constraints; 8:索引管理 <1>.creating function-based...

    Oracle从入门到精通

    3. 从多表中显示数据: .................................... 1.8、用字函数产生的总计................................... 1.9、子查询:............................................. 2.0、替换变量:...........

    SQL语法大全

    rs.eof 返回记录指针是否超出数据表末端,true表示是,false为否 rs.delete 删除当前记录,但记录指针不会向下移动 rs.addnew 添加记录到数据表末端 rs.update 更新数据表记录 -----------------...

    mysql数据库的基本操作语法

    当主表的记录被从表参照时,主表的记录将不允许删除,如果要删除数据,需要先删除从表中依赖该记录的数据, 然后才可以删除主表的数据。还有一种就是级联删除子表数据。 注意:外键约束的参照列,在主表中引用的只能...

Global site tag (gtag.js) - Google Analytics