社区
Oracle
帖子详情
ORACLE中有临时表,表变量吗(SQLSERVER中),那用什么来代替啊
apple18
2006-04-17 08:16:04
SQLSERVER有临时表,表变量 ,ORACLE中有吗,没有的话用什么来代替啊
...全文
974
9
打赏
收藏
ORACLE中有临时表,表变量吗(SQLSERVER中),那用什么来代替啊
SQLSERVER有临时表,表变量 ,ORACLE中有吗,没有的话用什么来代替啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
koskinen
2006-04-18
打赏
举报
回复
关注一下,顺便接分
icedut
2006-04-18
打赏
举报
回复
begin
p_ll();
end;
--正确执行
icedut
2006-04-18
打赏
举报
回复
test
CREATE OR REPLACE PROCEDURE p_ll IS
strsql varchar2(1000);
BEGIN
strsql :='CREATE GLOBAL TEMPORARY TABLE tmp_ll01 '
|| '(CTRL_ENT_ID VARCHAR2(100),COL_ENT_ID VARCHAR2(100),updateable INTEGER,ENABLED INTEGER,VISIBLE INTEGER'
|| ',INSERTABLE INTEGER,deleteable INTEGER,CHANGEABLE INTEGER) on commit preserve rows';
EXECUTE IMMEDIATE strsql;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END p_ll;
/
icedut
2006-04-18
打赏
举报
回复
是TEMPORARY
CREATE GLOBAL TEMPORARY TABLE flight_schedule (
startdate DATE,
enddate DATE,
cost NUMBER)
---------------------------------------------------------------
create proecdure name_pro
as
str varchar2(100);
begin
str:='CREATE GLOBAL TEMPORARY TABLE TABLENAME ON COMMIT PRESERVE ROWS as select * from others_table';
execute immediate str;
end;
/
apple18
2006-04-18
打赏
举报
回复
在存储过程begin end ;之间在create或 DECLARE global TEMPORARY TABLE TT,出错啊,
icedut
2006-04-17
打赏
举报
回复
zt
不同:
1. SQL SERVER临时表是一种”内存表”,表是存储在内存中的.ORACLE临时表除非执行DROP TABLE,否则表定义会保留在数据字典中.
2. SQL SERVER临时表不存在类似ORACLE临时表 事务级别 上的功能.
3 SQL SERVER本地临时表(#) 与 ORACLE的会话级别临时表类似,但是在会话退出的时候,ORACLE不会删除表.
4 SQL SERVER的全局临时表(##) 是指多个连接共享同一片内存.当没有指针引用该内存区域时,SQL SERVER自动释放全局临时表.
5 由于ORACLE不是一种 内存中的数据库. 所以如果ORACLE类似SQL SERVER 频繁的对临时表进行建立和删除,必定会影响性能.所以ORACLE会保留临时表的定义直到用户DROP TABLE.
6 在ORACLE中,如果需要多个用户共享一个表(类似SQL SERVER的全局临时表##).则可以利用永久表,并且在表中添加一些可以唯一标识用户的列.利用触发器和视图.当用户退出的时候,根据该登陆用户的唯一信息删除相应的表中的数据. 这种方法给ORACLE带来了一定量的负载.
dp_555
2006-04-17
打赏
举报
回复
友情接分。。。
icedut
2006-04-17
打赏
举报
回复
zt
对全局临时表的总结
在临时表上的操作比在一般的表上的操作要快。因为:
1创建临时表不需要往编目表中插入条目,临时表的使用也不需要访问编目表,因此也没有对编目表的争用。
2仅有创建临时表的app才可存取临时表,所以在处理临时表时没有锁。
3如果指定NOT LOGGED选项,在处理临时表时不记日志。所以如果有仅在数据库的一个会话中使用的大量临时数据,把这些数据存入临时表能大大提高性能。
DECLARE GLOBAL TEMPORARY TABLE TT(C1 INT, C2 CHAR(20));
在CONNECT RESET命令后,临时表不再存在。
建临时表是动态编译的,所以对临时表的使用也必须放在DECLARE CURSER 后面
CREATE PROCEDURE INSTT2(P1 INT, P2 CHAR(20))
BEGIN
DECLARE GLOBAL TEMPORARY TABLE TT(C1 INT, C2 CHAR(20)) %
INSERT INTO SESSION.TT VALUES(P1, P2);
BEGIN
DECLARE C1 CURSOR WITH RETURN FOR SELECT * FROM SESSION.TT;
END;
END %
2。事务特有的临时表
CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification>)
ON COMMIT DELETE ROWS;
在Oracle中,全局临时表并不会删除,实际上你只需要建立一次,以后直接应用就行了,这与MS和Sybase不一样。实际上在断开数据库连接时,临时表中数据自动清空,不同的Session之间是隔离的,不许要当心相互影响,不过如果起用了连接共享的话,你要用On Commit delete rows使数据仅在事物内部有效。
客家族_Shark曾_小凡仙
2006-04-17
打赏
举报
回复
有,CREATE OR REPLACE TEMPTABLE GOALBE 你去查查就知道了
Oracle
视图和
临时
表
的区别,对比
Oracle
临时
表
和SQL Server
临时
表
的不同点
Oracle
数据库创建
临时
表
的过程以及和SQL Server
临时
表
的不同点的对比的相关知识是本文我们主要要介绍的内容,接下来就让我们一起来了解一下这部分内容吧,希望能够对您有所帮助。1.简介
Oracle
数据库除了可以保存永久...
SQL SERVER
表
变量
和 标量
变量
1)
表
变量
是存储在内存
中
的,当用户在访问
表
变量
的时候,
SQLServer
是不产生日志的,而在
临时
表
中
是产生日志的; 2)在
表
变量
中
,是不允许有非聚集索引的; 3)
表
变量
是不允许有DEFAULT默认值,也不允许有约束; 4)...
Sqlserver
关于
临时
表
和
表
变量
的总结
https://docs.microsoft.com/zh-cn/sql/t-sql/statements/create-table-transact-sql?view=sql-server-ver15#temporary-tables ...sql-server-ver15 ...1、一旦创建本地
临时
表
的会话退出,本地
临时
表
将被自动删除
SQL Server
中
临时
表
与
表
变量
的区别
SQL Server
中
临时
表
与
表
变量
的区别2009年02月20日 星期五 19:31我们在数据库
中
使用
表
的时候,经常会遇到两种使用
表
的方法,分别就是使用
临时
表
及
表
变量
。在实际使用的时候,我们如何灵活的在存储过程
中
运用它们,虽然...
Oracle
临时
表
和SQL Server
临时
表
的不同点对比
本文我们主要介绍了
Oracle
数据库建立
临时
表
的相关知识以及和SQL Server
临时
表
的不同点的对比,希望能够对您有所帮助。 AD:【线下活动】三大新锐HTML 5企业汇聚51CTO—大话移动前端技术
Oracle
数据库创建
临时
表
的...
Oracle
17,090
社区成员
55,238
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章