oracle 可有像SQLSERVER的#临时表功能的方法

客家族_Shark曾_小凡仙
博客专家认证
2010-04-07 04:41:42
不是ORACLE 它自己的临时表
SQLSERVER 的#临时表 可以在存储过程中 把一个查询语句的结果放进里面,并且在后续的查询中可以引用该临时表的字段。

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

ORACLE WITH 语句 可以被后续查询引用到字段,可惜只能在同一个查询中使用,并且不能被同个查询里的字查询引用。
...全文
168 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
vanjayhsu 2010-04-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tangren 的回复:]
ORACLE限制
ORACLE只有先建好临时表,才能使用;
要不就只能使用集合类型了(记录+数组)或游标来处理
[/Quote]

同意。。。
zswangg 2010-04-12
  • 打赏
  • 举报
回复

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; --在会话中止时或者导常退出时数据都会被清除掉.

gll0809 2010-04-08
  • 打赏
  • 举报
回复
学习了
phoenixli_19 2010-04-07
  • 打赏
  • 举报
回复
用游标,看你使用的情况,实在不行,建表
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tangren 的回复:]

ORACLE限制
ORACLE只有先建好临时表,才能使用;
要不就只能使用集合类型了(记录+数组)或游标来处理
[/Quote]

在开发过程中 发现同个过程中可重用的子查询挺多的 做成临时表也太麻烦了
ojuju10 2010-04-07
  • 打赏
  • 举报
回复
oracle也有临时表

oracle临时表分2种,一种是基于事务的,事务一提交后,自动清空表内容
另外一种是基于Session的,关联连接后,自动删除临时表
tangren 2010-04-07
  • 打赏
  • 举报
回复
ORACLE限制
ORACLE只有先建好临时表,才能使用;
要不就只能使用集合类型了(记录+数组)或游标来处理

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧