oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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存储过程创建临时表,插入数据后,怎么返回临时表数据,并在asp.net中接收到datatable中
我是想做一个报表,然后用存储过程返回记录集保存到datatable中,由于关联很多表,一条sql语句无法显示,所以我想在存储过程中创建一个临时表,然后将相应的记录都插入到临时表中,最后返回,sql server比较熟悉,oracle中的具体语法不是很清楚,请各位能否给个简单的例子,先谢谢了!
参考技术A 建一个视图好啦.把结果存起来:CREATE VIEW VIEW_NAME AS
SELECT * FROM A
UNION ALL
SELELCT * FROM B
这样就会把两张的表内容同时存在视图:VIEW_NAME中.并且还会时时更新.即方便又节省空间. 参考技术B 定义一个返回游标
open p_cursor for select * from table_name 参考技术C 查出的结果放到游标,前台在读取游标的结果 参考技术D 见图,直接不能回复 第5个回答 2011-02-15 临时表名是临时生成的???
以上是关于oracle 怎么在存储过程中创建一个临时表,在里面插入数据,再查找这个临时表的所有数据,最后drop这个表。的主要内容,如果未能解决你的问题,请参考以下文章