正文

DB2获取当前用户表、字段、索引等详细信息(db2获取建表sql)难以置信

文章摘要

这篇文章介绍了使用SQL语句从`sysibm`数据库中提取表结构和空间信息的方法。具体来说,作者通过`sysibm.syscolumns`表,提取了表空间中的表结构信息,包括表名、字段名、字段类型、字段备注、字段是否非空、字段是否自动生成键、字段宽度、字段精度、字段备注、字段是否唯一、字段是否为主密钥,以及字段是否被索引。作者还解释了代码中使用`decode`函数的作用,以及`unique`和`masterKey`字段的含义。整篇文章旨在展示如何利用这些技术快速获取和分析表空间内表结构的信息。

 SELECT d.name tbName, COALESCE(d.remarks, ”) tbDesc, a.name columnName, a.coltype columnType , decode(a.nulls,’Y’,’1′,’0′) notNull, decode(a.identity,’Y’,’1′,’0′) auto, a.longlength width, a.scale precision, COALESCE(a.remarks, ”) comment, decode(n.unique_colcount,’1′,’1′,’0′) unique, decode(n.uniquerule,’P’,’1′,’0′) masterKey, COALESCE(n.name, ”) indexName FROM sysibm.syscolumns a INNER JOIN sysibm.systables d on a.tbname=d.name LEFT JOIN sysibm.sysindexes n on n.tbname=d.name and SUBSTR(colnames,2)=a.name where d.type=’T’and d.tbspace=’USERSPACE1′