Heim  >  Artikel  >  Datenbank  >  oracle 中的临时表

oracle 中的临时表

WBOY
WBOYOriginal
2016-06-07 15:33:211151Durchsuche

临时表: 除了永久表,oracle还可以建立临时表来保存 session私有的data,这些data只存在于一个事务或者session的持续存在的期间内。 CREATE GLOBAL TEMPORARY TABLE 语句建立了一个临时表,该临时表可以是事务级别,也可以是session级别。 对于事务级别的临

临时表:

除了永久表,oracle还可以建立临时表来保存 session私有的data,这些data只存在于一个事务或者session的持续存在的期间内。


CREATE GLOBAL TEMPORARY TABLE  语句建立了一个临时表,该临时表可以是事务级别,也可以是session级别。 对于事务级别的临时表,data存在于事务的持续期间。对于session级别的临时,data存在于session的持续期间。临时表中的data 对各自的session的是私有的。每个session 只能看到并且只能修改它自己的data。dml lock 对于 临时表上的data是不需要的。lock 语句对临时表没有作用,因为每个session都有他自己的私有data。


对于在 session级别的临时表发出truncate命令,会truncate掉属于那个session的data。truncate命令不会truncate掉 使用相同表名的其他的session的数据。

临时表上的dml语句不会生成redo。但是,undo logs for the data and redo logs for the undo logs 是生成的。在session终止(user logs off 或者 session 异常终止)时,临时表中的数据会自动drop掉。

可以在临时表上使用create index语句建立索引。建立在临时表上的索引也是临时的,索引中的data 与 临时表中的data 有相同的 session 或者 事务范围。

可以建立访问临时表和永久表的view。也可以在临时表上建立触发器。

oracle 实用工具(注:exp等)可以导出和导入 临时表的定义,但是,即使你使用rows子句,临时表中的data rows也是不会被导出的。类似的,你可以复制临时表的定义,但是不能复制表中的data。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:IT知识收藏.2015年1月、2月Nächster Artikel:cocos2dx-3.0(26) CC