分类:
2008-04-12 23:41:28
来源:csdn 作者:Mr_Bean |
3、怎么样获取表结构以及索引的信息?
环境 产品: DB2 UDB
平台: Windows 9x/NT/2000, Unix, Linux
版本: 5.x/6.x/7.x
问题 怎么样获取表结构以及索引的信息?
解答 您可以使用"describe" 命令:
(1) 显示关于SELECT语句的 SQLDA 信息;
(2) 显示表或视图的列信息;
(3) 显示表或视图的索引信息;
* 命令语法:
>;>;-DESCRIBE-------------------------->;
>;--+-select-statement---------+->;<
'--+-TABLE--table-name----------+---+----------+-'
'-INDEXES FOR TABLE--table-name--' '-SHOW DETAIL--'
例如:
1) 下面的例子用于描述 SELECT 语句:
db2 "describe select * from staff"
SQLDA Information
sqldaid : SQLDA sqldabc: 896 sqln: 20 sqld: 7
Column Information
sqltype sqllen sqlname.data sqlname.length
--------------- ------ -------------- ---------------
500 SMALLINT 2 ID 2
449 VARCHAR 9 NAME 4
501 SMALLINT 2 DEPT 4
453 CHARACTER 5 JOB 3
501 SMALLINT 2 YEARS 5
485 DECIMAL 7, 2 SALARY 6
485 DECIMAL 7, 2 COMM 7
2) 下面的例子用于描述表结构:
db2 describe table user1.department
Table: USER1.DEPARTMENT
Column
name Type
schema Type
name Length Scale Nulls
--------- ------- ----------- -------- ------ ------
AREA SYSIBM SMALLINT 2 0 No
DEPT SYSIBM CHARACTER 3 0 No
DEPTNAME SYSIBM CHARACTER 20 0 YES
3) 下面的例子用于描述索引结构:
db2 describe indexes for table user1.department
Table: USER1.DEPARTMENT
Index
schema Index
name Unique
rule Number of
columns
------------ ---------- ------------ ----------------
USER1 IDX1 U 2
4、以空文件为数据文件导入(IMPORT)并替换(REPLACE)目标表和删除(DELETE)表操作的对比(一种可以绕开删除整个表操作时遇到交易日志已满的办法)
文章编号:1347131000035
日 期:2001-12-24
打印格式
以空文件为数据文件导入(IMPORT)并替换(REPLACE)目标表和删除(DELETE)
表操作的对比(一种可以绕开删除整个表操作时遇到交易日志已满的办法)
环境 [产品] DB2 UDB
[平台] 跨平台
[版本] 5.x/6.1/7.x
问题 以空文件为数据文件导入(IMPORT)并替换(REPLACE)目标表和删除(DELETE)表操作的对比
解答 当用DELETE TABLE命令删除整个表中数据时,该操作会逐条删除表中记录,并记入活动的交易日志。当表中数据量很大时,如果活动的交易日志不够大,就会遇到交易日志已满的错误,并回滚日志。即使活动的交易日志足够大,删除数据量很大的表的操作也会占用很多时间。用以空文件为数据文件导入(IMPORT)并替换(REPLACE)表的办法可以解决这个问题。例如
IMPORT FROM /dev/null OF DEL REPLACE INTO 目标表名
这样交易日志只会记录下该条命令,并立即释放所占的空间,而不会像删除命令一样逐条扫描记录,这就类似于DROP掉该表再创建一个完全相同只是没有数据的表一样。对于属于DMS表空间的表来说,删除命令逐条扫描记录,所占的记录空间仍标记为该表所用,而不立即释放空间,需要用REORG命令才可以释放剩余空间。用 LIST TABLESPACE SHOW DETAIL 可以对比两条命令执行后表空间中的剩余空间的大小。
用LOAD命令加REPLACE参数可以达到类似IMPORT命令加REPLACE的效果,但是由于LOAD本身不记日志,所以对于可恢复的数据库,LOAD完成后建议马上做一下联机备份的,相比之下,IMPORT命令加REPLACE操作上比较简单一些。
from jourmen
问题描述:
db2的界面都显示不了中文,所有该显示中文的地方都是显示方框
操作系统:
win2k(别的我没有试,不知道是不是这样)
db2版本:
db2 8.1 for win
解决方法:
控制面板-->;区域选项-->;常规选项卡-->;你的区域设置设成中文(中国)
ok,问题解决
问题原因:一般是你把区域设置成非中文(中国),比如我设成了英语(美国),来显示时间(9:05AM)这样格式的
P.S.:win别的平台和db2的别的版本没有试,也许一样:) |