社区
Oracle
帖子详情
oracle 可有像SQLSERVER的#临时表功能的方法
客家族_Shark曾_小凡仙
博客专家认证
2010-04-07 04:41:42
不是ORACLE 它自己的临时表
SQLSERVER 的#临时表 可以在存储过程中 把一个查询语句的结果放进里面,并且在后续的查询中可以引用该临时表的字段。
ORACLE 必须先定义好临时表的字段
ORACLE WITH 语句 可以被后续查询引用到字段,可惜只能在同一个查询中使用,并且不能被同个查询里的字查询引用。
...全文
168
7
打赏
收藏
oracle 可有像SQLSERVER的#临时表功能的方法
不是ORACLE 它自己的临时表 SQLSERVER 的#临时表 可以在存储过程中 把一个查询语句的结果放进里面,并且在后续的查询中可以引用该临时表的字段。 ORACLE 必须先定义好临时表的字段 ORACLE WITH 语句 可以被后续查询引用到字段,可惜只能在同一个查询中使用,并且不能被同个查询里的字查询引用。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
用游标,看你使用的情况,实在不行,建表
客家族_Shark曾_小凡仙
2010-04-07
打赏
举报
回复
[Quote=引用 1 楼 tangren 的回复:]
ORACLE限制
ORACLE只有先建好临时表,才能使用;
要不就只能使用集合类型了(记录+数组)或游标来处理
[/Quote]
在开发过程中 发现同个过程中可重用的子查询挺多的 做成临时表也太麻烦了
ojuju10
2010-04-07
打赏
举报
回复
oracle也有临时表
oracle临时表分2种,一种是基于事务的,事务一提交后,自动清空表内容
另外一种是基于Session的,关联连接后,自动删除临时表
tangren
2010-04-07
打赏
举报
回复
ORACLE限制
ORACLE只有先建好临时表,才能使用;
要不就只能使用集合类型了(记录+数组)或游标来处理
Oracle
与SQL Server
临时表
在写非常复杂的业务逻辑时,不免用到
临时表
。
临时表
生成很少的日志,每种数据库又都会对其进行特定的处理,使它很适合保存事务或会话期间的中间结果集。
Oracle
临时表
保存的数据只对当前会话可见,所有会话都看不到其他会话的数据。即使当前会话已经提交了数据,别的会话也看不到。对于
临时表
,不存在多用户并发问题,因为一个会话不会因为使用一个
临时表
也阻塞另一个会话。
Oracle
的
临时表
是从当前登录
Oracle
和
SQLServer
的“
临时表
”应用
Oracle
中, 在复杂的业务逻辑中,我们经常会用到
临时表
,
临时表
生成很少的日志,每种数据库又都会对其进行特定的处理,使它很适合保存事务或会话期间的中间结果集。
Oracle
临时表
保存的数据只对当前会话可见,所有会话都看不到其他会话的数据。即使当前会话已经提交了数据,别的会话也看不到。对于
临时表
,不存在多用户并发问题,因为一个会话不会因为使用一个
临时表
也阻塞另一个会话。
ORACLE
临时表
和
SQLSERVER
临时表
异同
SQL SERVER
临时表
也可以创建
临时表
。
临时表
与永久表相似,但
临时表
存储在 tempdb 中,当不再使用时会自动删除。有本地和全局两种类型的
临时表
,二者在名称、可见性和可用性上均不相同。本地
临时表
的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 Microsoft? SQL Server? 2000 实例断开连接时被删除。全局
临时表
的名称以数学符号 (##) 打头
SQL Server中本地
临时表
和全局
临时表
的区别
在SQL Server中,
临时表
有两种类型,分别为本地
临时表
和全局
临时表
。
临时表
和永久表相似,但
临时表
存储在数据库tempdb中,当不再使用时回自动删除。 区别 作用域不同 本地
临时表
只对创建这个表的用户的SESSION可见,对其他进程是不可见的。当创建它的进程消失时,这个
临时表
就会自动删除。 全局
临时表
对整个SQL Server示例都可见,只有当所有访问它的SESSION都消失的时候,它才会自动删除。 创建方式不同 本地
临时表
的名称是以单#打头,而全局
临时表
的名称是以双#打头,如它们的创建语句如下: .
全局
临时表
生命周期
oracle
,
SqlServer
和
Oracle
临时表
生命周期
SqlServer
:局部
临时表
#temp_table:只在当前会话结有效。会话终止则生存终止。根据session不同开辟不一样的内存存放数据。相同session的用户可以使用同一张
临时表
,只能create table 一次。不同session建的
临时表
,即使表名相同,指向的内存也是不一样的,互相内容不可见。全局
临时表
##temp_table:顾名思义,不同的session可以使用同一块内存。但是其...
Oracle
17,086
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章