select count(*) from syscat.tables where tabschema='GP'
GP为某用户模式。
当然也可以用
select count(*) from syscat.tables where tabschema='GP'
查出所有表的数量。
再查出有多少张系统表,就是在SYSIBM、SYSTOOLS下的表数目。相减就可以了。
我用的是DB2 V9.7。
一、查询指定模式下的所有表db2 LIST TABLES FOR SCHEMA 模式名
二、查询当前模式下所有表及信息
db2 select tabname from syscat.tables where tabschema = CURRENT SCHEMA
三、查询当前模式下所有的表
db2 LIST TABLES FOR ALL
四、查询指定表名的表
db2 select * from syscat.tables where TABNAME = '表名'(表名必须大写,不加模式,原因是TABNAME是syscat.tables中的一个字段,TABSCHEMA模式是另一个字段,两者唯一确定一张表)
希望这些可以给你帮助
使用DB2查询创建表的实现方法如下:db2
=>create
table
t1
(
id
integer,name
varchar(12),address
varchar(50))
db2
=>insert
into
t1
values(1,'wjz','sdfsfds'),(2,'lw','v4')
db2
=>
select
*
from
t1
ID
NAME
ADDRESS
-----------
------------
--------------------------------------------------
1
wjz
sdfsfds
2
lw
v4
2
条记录已选择。
db2
=>
create
table
t3
as
(select
id,name
from
t1)
data
initially
deferred
refresh
deferred
db2
=>
refresh
table
t3
DB20000I
SQL命令成功完成。
db2
=>
select
*
from
t3
ID
NAME
-----------
------------
1
wjz
2
lw
2
条记录已选择。
db2
=>
insert
into
t1
values(3,'wxb','csk')
DB20000I
SQL命令成功完成。
db2
=>
refresh
table
t3
DB20000I
SQL命令成功完成。
db2
=>
select
*
from
t3
ID
NAME
-----------
------------
1
wjz
2
lw
3
wxb
3
条记录已选择。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)