Chinaunix首页 | 论坛 | 博客
  • 博客访问: 52072
  • 博文数量: 20
  • 博客积分: 825
  • 博客等级: 准尉
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-15 12:03
文章分类

全部博文(20)

文章存档

2010年(20)

我的朋友

分类: DB2/Informix

2010-07-16 11:37:34


两种方法创建临时表:

1:create temp table temp _tabname(id int) with no log

2,select * from tabname into temp temp_tabname with no log

(一)临时表空间可以在环境变量DBSPACETEMP中设定,也可以在参数DBSPACETEMP中设定。如果两者都设定,则使用环境变量中的值。如果环境变量使用的数据库空间不存在,则数据库不会创建该数据库空间。

(二)如果使用create temp table方式显示创建数据库而没有“in dbspace”则默认将临时表放置于DBSPACETEMP变量设定的临时数据库空间中。使用select * from tabname into temp方式也默认放置于DBSPACETEMP变量设定的临时数据库空间中。

(三)使用group by ,order by语句时,数据库会隐式创建临时表供自己使用。而这些临时表使用的空间按照下列次序来使用临时数据库空间:

1,PSORT_DBTEMP环境变量使用的参数

2,DBSPACETEMP环境变量参数

3,  onconfig.cs文件中DBSPACETEMP参数

注意:如果将DBSPACETEMP参数设置为无效值,则临时数据库空间设置为根空间(对于显式临时表)或者/tmp(对于隐式临时表),而不是onconfig.cs中设置的DBSPACETEMP参数指定的值。在此情况下,数据库服务器会填充/tmp直至极限,最终会关闭或者杀死文件系统。

注意:如果创建了临时数据库空间,即:在创建的时候有用-t标识,而且必须在onconfig.cs文件中列出这些数据库空间或者在环境变量中列出。否则,临时表创建在当前使用的数据库中。Eg:在userdbs数据库空间中,select * from user into temp tab with no log, 产生的临时表放在userdbs中。

 

 

 

 

阅读(4036) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:预先读取的参数配置

给主人留下些什么吧!~~