为了账号安全,请及时绑定邮箱和手机立即绑定

db2里如何根据数据库中表模式获取相应的表名?

/ 猿问

db2里如何根据数据库中表模式获取相应的表名?

db2里如何根据数据库中表模式获取相应的表名


查看完整描述

4 回答

?
aluckdog

1

2

3

SELECT NAME,CREATORTYPE,REMARKS FROM SYSIBM.SYSTABLES

WHERE TYPE IN ('T','V')

AND CREATOR='你的schemName';


查看完整回答
反对 回复 2019-04-06
?
倚天杖

不知道DB2支持NVL函数不
你试试
NVL(A,0) 意思就是字段A如果NULL就默认是0
如果不行就用case when吧,这个应该是通用的,
case when a is null then 0 else a end

查看完整回答
反对 回复 2019-04-06
?
翻阅古今

参考代码如下:
DatabaseMetaData metaData = conn.getMetaData();
ResultSet rs = metaData.getTables(null,null,null,new String[] { "TABLE"});
int cnt = 0;
while(rs.next()) {
cnt++;
System.out.println(rs.getString("TABLE_NAME"));
}

查看完整回答
反对 回复 2019-04-06
?
LEATH

数据库中还有大量系统表的,所以我觉得你查某些模式下的表比较好:
select count(*) from syscat.tables where tabschema='GP'
GP为某用户模式。
当然也可以用
select count(*) from syscat.tables where tabschema='GP'
查出所有表的数量。
再查出有多少张系统表,就是在SYSIBM、SYSTOOLS下的表数目。相减就可以了。
我用的是DB2 V9.7。



查看完整回答
反对 回复 2019-04-06

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信