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

随心笔谈9个月前更新 admin
222 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

这篇文章介绍了使用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′

© 版权声明

相关文章