create procedure pro
as
str varhcar2(50);
begin
str:='CREATE GLOBAL TEMPORARY TABLE TABLENAME (
COL1 VARCHAR2(10),
COL2 NUMBER
) ON COMMIT PRESERVE ROWS ';
execute immediate str;
end;
/
as
str varhcar2(50);
begin
str:='CREATE GLOBAL TEMPORARY TABLE TABLENAME (
COL1 VARCHAR2(10),
COL2 NUMBER
) ON COMMIT PRESERVE ROWS ';
execute immediate str;
end;
/
解决方案 »
- record类型,是否可以当成表一样查询
- oracle语句如何强制走索引
- 请教老师,9i与ORACLE7建立快照的问题?
- 关于Oracle同步数据库问题?
- 请问,为了在远端机子上访问linux上的oracle是不是还要配置linux的apache http服务器
- 请问Oracle数据库支持SNMP吗?
- 为什么我一启动OracleOracleHomeTNSListener服务就会出现“内存不能为read”的错误以及“协议适配器错误”??提示窗口中写的是“TNSLSNR
- 外键约束为空的情况?
- 如何打开1521端口呢?
- !!!急急,请问oracle的sql语句里面如何将23.0123转换成整型23啊???
- 怎样将LONG类型转换成CHAR类型?
- 急:有个错误ora-01830的错误怎样解决
1、会话特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification>)
ON COMMIT PRESERVE ROWS;2、事务特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification>)
ON COMMIT DELETE ROWS;
在Oracle中,全局临时表并不会删除,实际上你只需要建立一次,以后直接应用就行了,这与MS和Sybase不一样。实际上在断开数据库连接时,临时表中数据自动清空,不同的Session之间是隔离的,不许要当心相互影响,不过如果起用了连接共享的话,你要用On Commit delete rows使数据仅在事务内部有效。