'dept_name varchar2(50),'|| --部门名称
'new_alarm integer default 0,'||--新警情数量
'disposed integer default 0,'||--已经受理的数量
'fbk_ontime integer default 0,'||--按时反馈的数量
'fbk_late integer default 0,'||
'finish_ontime integer default 0,'
'finish_late integer default 0)';
--创建临时表的sql如上
1.
对非全局的临时表:
oracle的临时表和mssql的临时表的作用域和生命周期是不是一样的呢?mssql只对创建它的连接(会话)可用,其他会话可以创建相同名字的临时表而不会互相冲突
2.oracle是否存在和临时表在作用域和生命周期都差不多的视图??
我想希望能有某种视图只对创建它的会话才是可用的,其他会话也可以创建相同名字的临时视图,没有的话要怎么样才可以实现?(过一段时间,可能会自我嘲笑问这样的问题-_-)
14 个解决方案
#1
ORACLE的临时表分为会话级和事务级
#2
加上ON COMMIT PRESERVE ROWS
#3
呵呵
我觉得加ON COMMIT DELETE ROWS更符合我的要求
我觉得加ON COMMIT DELETE ROWS更符合我的要求
#4
--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)
--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。
截断表后会不会删除临时表?还是要我用代码drop table来删除?
--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。
截断表后会不会删除临时表?还是要我用代码drop table来删除?
#5
不会删除表
只是其他会话看不到你插入的数据
但是我想问下你 你用CREATE TEMPORARY TABLE可以创建临时表 不加GLOBAL吗?
我用的是9i
只是其他会话看不到你插入的数据
但是我想问下你 你用CREATE TEMPORARY TABLE可以创建临时表 不加GLOBAL吗?
我用的是9i
#6
哦,要的,我漏了.
所有会话不用了临时表系统会自动删除它的,要不临时表就没有了"临时"的意义.
---只是其他会话看不到你插入的数据
现在想讨论一下这种情况:
当一个会话插入了一批记录,然后select * from Temp返回了这批记录给前台
然后另外一个会话也插入了一批记录,然后也进行select * from Temp返回的结果也只能是当前会话插入的吗?第一个会话插入的记录不会查出来吗?
如果这样的话就求神拜佛了,我处理起来会方便好多
所有会话不用了临时表系统会自动删除它的,要不临时表就没有了"临时"的意义.
---只是其他会话看不到你插入的数据
现在想讨论一下这种情况:
当一个会话插入了一批记录,然后select * from Temp返回了这批记录给前台
然后另外一个会话也插入了一批记录,然后也进行select * from Temp返回的结果也只能是当前会话插入的吗?第一个会话插入的记录不会查出来吗?
如果这样的话就求神拜佛了,我处理起来会方便好多
#7
PUB里面已经回复给你了
#8
晕,pub里你的nickname是什么?
#9
哦,也跟我一样,同一个名字
#10
还是love2008^_^
#11
呵呵 NinGoo还是那个NinGoo
呵呵
呵呵
#12
哇,这么有缘分哦,糟糕的是都是男的
#13
我跟你们两个发消息去
#14
我晕,结贴报错
#1
ORACLE的临时表分为会话级和事务级
#2
加上ON COMMIT PRESERVE ROWS
#3
呵呵
我觉得加ON COMMIT DELETE ROWS更符合我的要求
我觉得加ON COMMIT DELETE ROWS更符合我的要求
#4
--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)
--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。
截断表后会不会删除临时表?还是要我用代码drop table来删除?
--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。
截断表后会不会删除临时表?还是要我用代码drop table来删除?
#5
不会删除表
只是其他会话看不到你插入的数据
但是我想问下你 你用CREATE TEMPORARY TABLE可以创建临时表 不加GLOBAL吗?
我用的是9i
只是其他会话看不到你插入的数据
但是我想问下你 你用CREATE TEMPORARY TABLE可以创建临时表 不加GLOBAL吗?
我用的是9i
#6
哦,要的,我漏了.
所有会话不用了临时表系统会自动删除它的,要不临时表就没有了"临时"的意义.
---只是其他会话看不到你插入的数据
现在想讨论一下这种情况:
当一个会话插入了一批记录,然后select * from Temp返回了这批记录给前台
然后另外一个会话也插入了一批记录,然后也进行select * from Temp返回的结果也只能是当前会话插入的吗?第一个会话插入的记录不会查出来吗?
如果这样的话就求神拜佛了,我处理起来会方便好多
所有会话不用了临时表系统会自动删除它的,要不临时表就没有了"临时"的意义.
---只是其他会话看不到你插入的数据
现在想讨论一下这种情况:
当一个会话插入了一批记录,然后select * from Temp返回了这批记录给前台
然后另外一个会话也插入了一批记录,然后也进行select * from Temp返回的结果也只能是当前会话插入的吗?第一个会话插入的记录不会查出来吗?
如果这样的话就求神拜佛了,我处理起来会方便好多
#7
PUB里面已经回复给你了
#8
晕,pub里你的nickname是什么?
#9
哦,也跟我一样,同一个名字
#10
还是love2008^_^
#11
呵呵 NinGoo还是那个NinGoo
呵呵
呵呵
#12
哇,这么有缘分哦,糟糕的是都是男的
#13
我跟你们两个发消息去
#14
我晕,结贴报错