找出所有的父表:
With reftables(reftabname,PRIORITY) as(
Select reftabname,1 from syscat.references as refx where refx.tabname='PROJECT'
union all
Select ref2.reftabname,reftables.PRIORITY+1 from reftables,syscat.references ref2 where reftables.reftabname=ref2.tabname
)
Select * from reftables ORDER BY PRIORITY DESC;
找出所有的子表
With reftables(tabname,PRIORITY) as(
Select tabname,1 from syscat.references as refx where refx.reftabname='PROJECT'
union all
Select ref2.tabname,reftables.PRIORITY+1 from reftables,syscat.references ref2 where reftables.tabname=ref2.reftabname and reftables.PRIORITY<2
)
Select distinct * from reftables ORDER BY PRIORITY DESC;
其中
reftables.PRIORITY<2
是用来控制层数,子表找到第几层!
分享到:
相关推荐
* 查询数据库模式:#db2 "select 模式名 from syscat.schemata" 或者 #db2 "select 模式名 from sysibm.sysschemata" 数据库 * 创建数据库:#db2 create db 数据库名 alias 数据库别名 using codeset 字符集名 ...
- `syscat.tables` 和 `syscat.columns` 显示表及其列的信息,包括昵称(alias)。 - `syscat.indexes` 和 `syscat.indoptions` 描述索引及其选项。 - `syscat.tabconst` 和 `syscat.checks` 用于查看表约束,...
db2系统表、视图说明,sysibm.systables,sysibm.syscolumns,syscat.tables,syscat.columns,我们可以通过 LIST TABLES FOR SYSTEM 或 LIST TABLES FOR SCHEMA schemaname 命令查看所有的系统表和相关的视图信息。...
在 DB2 中,`SYSCAT.ROUTINES` 是一个系统目录表,它包含了数据库中所有存储过程的信息。该表的一个关键字段是 `TEXT`,类型为 CLOB,最大长度为 2MB(2097152 字节)。为了完整地获取存储过程的定义,通常需要执行...
`SELECT`从`SYSCAT.PROCEDURES`中检索存储过程的元数据。 16. **类型转换**: `CAST`函数用于将数据类型转换,例子中将字符串转为整数并加50。 17. **重新连接**: `CONNECT RESET`关闭当前连接并重置连接属性...
4. 查看表的状态:通过`db2 select tabname, colcount, status FROM syscat.tables WHERE tabschema NOT LIKE ”SYS%” ORDER BY tabname`查询用户表的状态,状态N表示正常,C表示待审核。 5. 查看磁盘空间:使用`...
- `SELECT * FROM SYSCAT.REFERENCES WHERE TABNAME =` 查看表的引用完整性约束。 15. **缓冲池监控**: - `select * from SYSCAT.BUFFERPOOLS` 获取缓冲池的状态,有助于性能调优。 16. **配置参数查看**: - ...
`db2 "select...from syscat.bufferpools"` 查看Bufferpool的详细信息,如Bufferpool名称、ID、DBPPageName、总页面数和页面大小。 9. **检查表的状态**: `db2 "select...from syscat.tables where status !='N'...
例如,SYSCAT.TABLES视图包含了所有表的信息,而SYSCAT.COLUMNS视图则列出表的所有列及其详细属性。 创建数据库时,DB2会自动进行编目,创建本地和系统数据库目录条目。使用RESTRICTIVE选项创建数据库时,不会向...
SELECT * FROM SYSCAT.ENVIRONMENT WHERE NAME = 'DB2VERSION' ``` ### 4. 系统调优 4.1 修改系统内核参数 为了优化DB2的性能,可能需要调整Linux内核参数,比如增加最大文件描述符数(`ulimit`),增加内存分配限制...
执行成功后,可以通过查询`syscat.schemata`表来验证新创建的Schema及其所有者: ```sql db2=>select SCHEMA_NAME, OWNER from syscat.schemata where schemaname='DB2USER12'; ``` 结果应显示新创建的Schema及其...
查询`syscat.tables`视图或使用`load query`命令,可以获取表名、列数及表状态(如正常、待审核)等信息,帮助识别潜在问题。 ##### 5、查看磁盘空间 磁盘空间不足是导致数据库性能下降的常见原因。使用`df -k`...
这些信息存储在系统视图如sysstat.tables、syscat.tables、sysstat.columns、syscat.columns、sysstat.indexes和syscat.indexes中。 为了确保DB2优化器能够正确工作并生成最佳执行计划,我们需要定期更新这些统计...
查询存贮过程使用SELECT语句,例如:SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15) FROM SYSCAT.PROCEDURES;。 类型转换和重新连接 类型转换使用CAST语句,例如:ip datatype:varchar select cast(ip as ...
15. 查看存贮过程:select命令用于查看存贮过程,例如:SELECT SUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15) FROM SYSCAT.PROCEDURES;。 16. 类型转换:cast命令用于类型转换,例如:ip datatype:varchar select...
* 查看表空间的定义:db2 "select s.TBSPACE TableSpaceName,b.BPNAME BufferpoolName,s.PAGESIZE TBSPageSize,b.NPAGES BufferpoolPages,b.PAGESIZE BufferpoolSize from SYSCAT.BUFFERPOOLS b,SYSCAT.TABLESPACES ...
CREATE ALIAS DB2ADMIN.COLUMNS FOR SYSCAT.COLUMNS; CREATE ALIAS GUEST.COLUMNS FOR SYSCAT.COLUMNS; ``` 这里创建了多个别名,使得后续可以通过这些别名来访问数据库中的元数据表,如`SYSCAT.TABLES`等。 #### ...
and1<(SELECT ASCII(SUBSTR(COLNAME, 1, 1)) FROM SYSCAT.COLUMNS WHERE TABNAME = 'TABLE' AND COLNO = 0) ``` - **获取敏感数据**:对于某些敏感数据,如密码等,同样可以使用以上方法进行猜测: ``` and0<...