`
ihuashao
  • 浏览: 4590093 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

在ORACLE存储过程中创建临时表

阅读更多
create procedure pro
as
str varchar2(100);
begin
str:='CREATE GLOBAL TEMPORARY TABLE TABLENAME (
COL1 VARCHAR2(10),
COL2 NUMBER
) ON COMMIT PRESERVE ROWS' ;
execute immediate str; --使用动态SQL语句来执行
end;
/

存储过程里不能直接使用DDL语句,所以只能使用动态SQL语句来执行

--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)
--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表(数据将全部被删除,如在存储过程中插入数据,调用存储过程结束之后,临时表中的数据也就全部被删除)。


CREATE GLOBAL TEMPORARY TABLE admin_work_area

ON COMMIT DELETE ROWS as select * from dept
分享到:
评论

相关推荐

    Oracle存储过程中使用临时表

    Oracle存储过程中使用临时表 会话级临时表 事务级临时表

    Oracle中临时表的创建

    目前所有使用Oracle作为数据库支撑平台的应用,大部分数据量比较庞大的系统,即表的数据量一般情况下都是在百万级以上的数据量。  当然在Oracle中创建分区是一种不错的选择

    oracle 存储过程学习总结

    NULL 博文链接:https://forlan.iteye.com/blog/2319341

    ORACLE 存储过程返回结果集,拼接为字符串输出为clob

    CLOB变量需要dbms_lob.createtemporary,临时表空间中,建立临时LOB。 大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,建立临时LOB。 大数据量,返回值虽然是CLOB...

    一个选查询后插入到一个临时表的oracle函数

    一个选查询后插入到一个临时表的oracle函数

    oracle临时表(事务级、会话级).docx

    当会话或事务结束时,临时表中的数据自动清空,但是临时表的结构和元数据还存储在用户的数据字典中。 会话级临时表 会话级临时表是指临时表中的数据只在会话生命周期中存在,当用户退出会话结束的时候,Oracle ...

    Oracle 回收站功能,彻底删除表ORA-00933:SQL command not properly ended

    Oracle 回收站功能,彻底删除表ORA-00933:SQL command not properly ended,由于删除触发器引起的。数据交换不能再建触发器。

    Oracle特性临时表

    在oracle 中,临时表与普通数据表一样只需要一次创建,其结构从创建到删除的整个期间都是有效的。相对于其它类型的表,临时表只有在用户实际向表中添加数据时,才会为其为配存储空间,并且分配的空间来自临时表空间...

    对比Oracle临时表和SQL Server临时表的不同点

    Oracle数据库除了可以保存永久表外,还可以建立临时表temporary tables。这些临时表用来保存一个会话SESSION的数据,或者保存在一个事务中需要的数据。当会话退出或者用户提交commit和回滚rollback事务的时候,临时...

    Oracle数据库表与视图

    Oracle8i引入了分区表和对象表,Oracle8i引入了临时表,使表的功能更强大。视图是一个或多个表中数据的逻辑表达式。表可以看作有行和列的电子数据表,表是关系数据库中一种拥有数据的结构。用CREATE TABLE语句建立表...

    oracle创建数据库表空间.doc

    在 Oracle 中,临时表空间用于存储临时数据,例如排序操作的中间结果。创建临时表空间的语法如下: ```sql CREATE TEMPORARY TABLESPACE test_temp TEMPFILE '/data/oracle/oradata/test/test_temp01.dbf' SIZE 64m ...

    oracle定时删除表空间的数据并释放表空间

    同时,为了释放表空间,需要创建一个临时表,复制原表的所有数据到临时表,然后删除原表,最后再将临时表的数据插入到原表。 代码如下: ```sql create or replace procedure del_tab as v_time number; begin ...

    oracle表空间详解

    * TMEP 表空间:临时表空间,安装数据库时创建,可以在运行时通过命令增大临时表空间。临时表空间的重要作用是数据排序。当用户执行了诸如 Order by 等命令后,服务器需要对所选取数据进行排序,如果数据很大,内存...

    linux oracle 建表,表空间以及删除命令

    建立临时表空间的命令为:CREATE TEMPORARY TABLESPACE temp_data TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M;其中,temp_data 是临时表空间的名称,/oracle/oradata/db/TEMP_DATA.dbf 是数据文件的路径...

    oracle 创建表空间、回滚段、用户、表的详细语法

    例如,创建一个名为 tempuser 的用户,密码为 tempuser,默认表空间为 TS_name1,临时表空间为 TS_name2: ```sql CREATE USER tempuser IDENTIFIED BY tempuser DEFAULT TABLESPACE TS_name1 TEMPORARY ...

    21天学通Oracle

    5.6.4 查看临时表在数据库中的信息 86 5.6.5 临时表的应用场景 86 5.7 特殊的表dual 87 5.7.1 分析dual表 87 5.7.2 dual表的应用场景 87 5.7.3 修改dual表对查询结果的影响 88 5.8 本章实例 89 5.9 本章小结 ...

    Oracle如何更改表空间的数据文件位置详解

    表空间概述 Oracle的表空间属于Oracle中的存储结构,是一种用于存储数据库...临时表空间:存储数据库的中间执行过程,如:保存order by数据库排序,分组时产生的临时数据。操作完成后存储的内容会被自动释放。临时表空

    知道某个字段的值(例如:“张三”),需要查询在其他某个表中有没有相同的值

    通过使用存储过程,可以实现字段值的查询,例如,在某个表中查询某个字段的值是否存在于其他表中。 Oracle 存储过程的优点是可以减少网络流量,提高数据的安全性和一致性。下面是一个使用 Oracle 存储过程实现字段...

    Oracle 从入门到精通视频教程(11G版本)(ppt)

    在SQL*Plus中创建存储过程 使用PL/SQL工具创建存储过程 修改删除存储过程 第11章-触发器,保证数据的正确性 什么是触发器 SQL*PLUS操作触发器 使用PL/SQL工具操作触发器 删除修改触发器 第12章-事务和锁,...

Global site tag (gtag.js) - Google Analytics