如何用PLSQL查询我的oarcle数据库里有多少个表,每个表都叫什么名

如何用PLSQL查询我的oarcle数据库里有多少个表,每个表都叫什么名,第1张

首先你要有一个登陆用户,根据这个用户有3个查看表信息数据字典,分别是
ALL_TABLES
USER_TABLES
DBA_TABLES
如果你的用户有DBA权限,那么可以
SELECT

FROM
DBA_TABLES那么可以查看数据库所有的表,不过最好带上WHERE条件,指定要查找的范围,要不结果很大的。
ALL_TABLES的话,SELECT

FROM
ALL_TABLES查找的是用户下的所有表和授权该用户访问的所有表。
USER_TABLES的话,SELECT

FROM
USER_TABLES查找的是用户下的所有表。
可以用
SELECT

FROM
USER_TABLES
然后对查到的表名,比如EMP,用
DESC
EMP
查看表结构
然后可以用
SELECT

FROM
EMP
WHERE
rownum
查看里面的10条信息,看下大概内容;
当然还有别的COL的数据字典,OBJECT数据字典等等,或者你进企业资源管理器进可视化界面可以直接看用户下的所有对象了。

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

SELECT FROM sysobjects WHERE (xtype = 'U') 查询当前数据库下所有用户建立的表 追问: 麻烦问一下,其中的xtype = 'U' 分别是什么意思? 回答: xtype char(2) 对象类型 。可以是下列对象类型中的一种: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 L = 日志 FN = 标量函数 IF = 内嵌 表函数 P = 存储过程 PK = PRIMARY KEY 约束(类型是 K) RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 UQ = UNIQUE 约束(类型是 K) V = 视图 X = 扩展存储过程


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10551613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存