我是Oracle新手。你能帮我写一下select查询,它应该返回给定模式名称的表名,列名,约束,索引,分区。请帮忙。
答案 0 :(得分:1)
我们可以从数据字典中获取此信息:
all_tables
all_tab_columns
all_constraints
all_indexes
all_tab_partitions
例如
select table_name
from all_tables
where owner = 'WHOEVER';
以下是the Oracle Reference guide中数据字典视图定义的链接。
ALL_
视图仅确定您被授予权限的对象。如果您具有DBA权限,则可以使用DBA_
等效项来显示所有模式中的所有对象。
答案 1 :(得分:1)
除了你已被告知的内容之外,请尝试记住" 字典"字;有时它非常有用。
例如,您需要找到有关约束的一些信息,但不知道要使用哪个来源 - 字典知道,只要问:
SQL> col comments format a48
SQL> select * from dictionary
2 where lower(comments) like '%constraint%'
3 order by table_name;
TABLE_NAME COMMENTS
------------------------------ ------------------------------------------------
ALL_CONS_COLUMNS Information about accessible columns in constrai
nt definitions
ALL_CONSTRAINTS Constraint definitions on accessible tables
USER_CONS_COLUMNS Information about accessible columns in constrai
nt definitions
USER_CONSTRAINTS Constraint definitions on user's own tables
SQL>
所以,
答案 2 :(得分:0)
Oracle提供了大量视图来通知您有关数据库结构的信息。一些示例:user_tab_columns,v $ tablespace和许多其他示例。搜索Oracle“表格数据字典视图”了解更多信息。