oracle存储过程中临时表的使用,该怎么处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle存储过程中临时表的使用,该怎么处理相关的知识,希望对你有一定的参考价值。

1、Oracle临时表分两种,事务级临时表和会话级临时表
2、事务级临时表在事务结束后会被清空,会话级临时表在事务结束后不会清空而是在回话结束会自动清空。
3、如果是在存储过程用临时表并不需要从临时表里把数据返回到存储过程之外的用事务级临时表即可;如果要从临时表里把数据返回到存储过程之外则需要用会话级临时表(这个跟mssql不一样,mssql用事务级临时表也可以返回结果)
注:存储过程里使用会话级临时表时,往临时表里插入数据前要先清空临时表内的数据
参考技术A 请详细描述你的问题

oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。

Oracle
的临时表的
处理机制,

SQL
Server
的不一样。
假如你的临时表的结构不是每次执行都发生变化的话
那么就是事先
通过
CREATE
GLOBAL
TEMPORARY
TABLE
语句,把临时表建立好。
存储过程里面,就根据需要,
执行
INSERT
/
SELECT
之类的操作就可以了
参考技术A create
procduce
test
is
isql
varchar2(200);
dptable
varchar2(100):='drop
table
test';
begin
isql:='create
global
temporary
table
test
(sid
int,sname
varchar2(20))
on
commit
delete
rows';
execute
immediate
isql;
--创建临时表
insert
into
test
values
(1,'abc');
execute
immediate
dptable;
---删除临时表
end;
-------------------
对于oracle
临时表在存储过程中调用,我是觉得这视乎没什么意义,oracle
提供在数据库里预定义临时表,只有在调用的时候才会在临时表空间里分配空间,也就是说你可以提前在数据库里创建临时表,然后再到存储过程里直接调用临时表就行了

以上是关于oracle存储过程中临时表的使用,该怎么处理的主要内容,如果未能解决你的问题,请参考以下文章

oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。

oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。

oracle 存储过程,数据处理并返回结果集问题

Oracle中如何在储过程中使用临时表

Oracle存储过程中临时表的使用技巧

SQL临时表使用