查询自己有哪些表、视图、索引这些对象,用 USER_OBJECTS 就挺方便的。不用折腾权限,直接查,速度还挺快。
用 select object_name, object_type from user_objects;
就能看到你名下的所有数据库对象。比如你建了 EMP
表、DEPT
表啥的,都在这里列得明明白白,类型也一并标出来,像 TABLE、VIEW、INDEX 等。
这东西适合你在开发前想确认一下:我有没有建这个表?有没有搞错表名?常常一查就了。
如果你想查别人的对象,那就得看 ALL_OBJECTS 或 DBA_OBJECTS,不过得有权限才行,别忘了。
哦对,数据多的时候,记得加点 where
条件,比如 object_type = 'TABLE'
,不然一堆系统对象看得你头大。
想顺着这个思路继续拓展的,下面这些资源也挺有意思的:
- 用户对象查询:对 查询技巧 做了点补充
- Informix 的对象资源结构:适合用过 Informix 的朋友
- Oracle 中的二进制对象管理:讲得也比较细
- SQL Server 对象权限分类:换个数据库平台思路参考也蛮好
如果你是刚开始摸 SQL 的新手,建议把 USER_OBJECTS 熟练掌握,多练几次,查询效率、排错能力都能提升不少。