日期:2014-05-17  浏览次数:20724 次

oracle 可有像SQLSERVER的#临时表功能的方法
不是ORACLE 它自己的临时表 
SQLSERVER 的#临时表 可以在存储过程中 把一个查询语句的结果放进里面,并且在后续的查询中可以引用该临时表的字段。

ORACLE 必须先定义好临时表的字段

ORACLE WITH 语句 可以被后续查询引用到字段,可惜只能在同一个查询中使用,并且不能被同个查询里的字查询引用。

------解决方案--------------------
我的异常网推荐解决方案:oracle存储过程,http://www.aiyiweb.com/oracle-develop/177537.html
------解决方案--------------------
ORACLE限制
ORACLE只有先建好临时表,才能使用;
要不就只能使用集合类型了(记录+数组)或游标来处理

------解决方案--------------------
oracle也有临时表

oracle临时表分2种,一种是基于事务的,事务一提交后,自动清空表内容
另外一种是基于Session的,关联连接后,自动删除临时表
------解决方案--------------------
用游标,看你使用的情况,实在不行,建表
------解决方案--------------------
 
oracle创建临时表 

-- oracle临时表,先创建,后使用

create global temporary table TMP_CUSTOMERINFO
(
BRANCHFLAG CHAR(3) not null,
CUSTOMERID VARCHAR2(11) not null,
CUSTOMERNO VARCHAR2(20),
CUSTOMERNAME VARCHAR2(200),
GROUPCUSTOMERNO VARCHAR2(20),
CUSTOMERTYPE CHAR(1),
DENGJI CHAR(3)
)
on commit delete rows --在事务提交后数据就已经清除了.
--or
--on commit preserve rows; --在会话中止时或者导常退出时数据都会被清除掉.