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

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

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

db2里如何根据数据库中表模式获取相应的表名
查看完整描述

4 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

1

2

3

SELECT NAME,CREATORTYPE,REMARKS FROM SYSIBM.SYSTABLES

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

AND CREATOR='你的schemName';


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

TA贡献1828条经验 获得超3个赞

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

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

TA贡献1780条经验 获得超5个赞

参考代码如下:
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

TA贡献1936条经验 获得超6个赞

数据库中还有大量系统表的,所以我觉得你查某些模式下的表比较好:
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
  • 4 回答
  • 0 关注
  • 1409 浏览
慕课专栏
更多

添加回答

举报

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