oracle查看所有对象(表、视图、索引、函数、存储过程等)的详细参数和注释,DDL定义语句

目录

1.总结

1.1.查看所有对象的详细信息和注释(表、视图、函数等)

1.2.查看所有对象DDL定义语句(表、视图、函数等)

2.测试

2.1.查看所有对象的详细信息和注释(表、视图、函数等)

2.1.1.表、视图、字段的详细参数

2.1.2.表、视图、字段的注释说明

2.1.3.函数、存储过程、触发器等

2.1.4.对象(表、视图、索引、函数等40类object_type)

2.1.5.更多信息见SYS(索引、函数、触发器等)

2.1.5.1.比如查看索引

 2.2.查看所有对象DDL定义语句(表、视图、函数等)

9.相关链接

9.1.mysql 查看建表语句DDL,简要查看表字段信息,详细查看表字段信息。SHOW CREATE TABLE sys_user;DESCRIBE sys_user;_mysql

9.2.MySQL、Oracle 查看表占用空间大小


1.总结

1.1.查看所有对象的详细信息和注释(表、视图、函数等)

  • 按照范围分为:dba ⊇ all ⊇ user(即 数据库管理员 ⊇ 所有用户 ⊇ 当前登录用户)
  • dba、all 比 user 多一个 owner 字段
-- 1.DBA
-- 1.1.表、视图、字段的详细信息
-- 表、视图
select * from sys.dba_tables       where owner in ('TEST') order by owner,table_name;
select * from sys.dba_views        where owner in ('TEST') order by owner,view_name;        -- 在NBCB,select 了TEXT_VC字段导致where 不到任何数据,不知道原因
-- 字段
select * from sys.dba_tab_cols     where owner in ('TEST') order by owner,table_name,column_id;
-- 1.2.表、视图、字段的注释说明
-- 表、视图
select * from sys.dba_tab_comments where owner in ('TEST') order by owner,table_type,table_name;
-- 字段
select * from sys.dba_col_comments where owner in ('TEST') order by owner,table_name,column_name;
-- 1.3.函数、存储过程、触发器等
select * from sys.dba_procedures   where owner in ('TEST') order by owner,object_type,object_name;
-- 1.4.对象(表、视图、索引、函数等40类object_type)
select * from sys.dba_objects      where owner in ('TEST') order by owner,object_type,object_name;
 
-- 2.所有用户
-- 2.1.表、视图、字段的详细信息
-- 表、视图
select * from sys.all_tables       where owner in ('TEST') order by owner,table_name;
select * from sys.all_views        where owner in ('TEST') order by owner,view_name;        -- 在NBCB,select 了TEXT_VC字段导致where 不到任何数据,不知道原因
-- 字段
select * from sys.all_tab_cols     where owner in ('TEST') order by owner,table_name,column_id;
-- 2.2.表、视图、字段的注释说明
-- 表、视图
select * from sys.all_tab_comments where owner in ('TEST') order by owner,table_type,table_name;
-- 字段
select * from sys.all_col_comments where owner in ('TEST') order by owner,table_name,column_name;
-- 2.3.函数、存储过程、触发器等
select * from sys.all_procedures   where owner in ('TEST') order by owner,object_type,object_name;
-- 2.4.对象(表、视图、索引、函数等40类object_type)
select * from sys.all_objects      where owner in ('TEST') order by owner,object_type,object_name;
 
-- 3.当前登录用户
-- 3.1.表、视图、字段的详细信息
-- 表、视图
select * from sys.user_tables       order by table_name;
select * from sys.user_views        order by view_name;    -- 在NBCB,select 了TEXT_VC字段导致where 不到任何数据,不知道原因
-- 字段
select * from sys.user_tab_cols     order by table_name,column_id;
-- 3.2.表、视图、字段的注释说明
-- 表、视图
select * from sys.user_tab_comments order by table_type,table_name;
-- 字段
select * from sys.user_col_comments order by table_name,column_name;
-- 3.3.函数、存储过程、触发器等
select * from sys.user_procedures   order by object_type,object_name;
-- 3.4.对象(表、视图、索引、函数等40类object_type)
select * from sys.user_objects      order by object_type,object_name;

1.2.查看所有对象DDL定义语句(表、视图、函数等)


-- 查看对象(表、视图、索引、函数、存储过程等等)DDL定义语句
-- 语法:select dbms_metadata.get_ddl({object_type}, {object_type}, {schema_name}) from dual;
select dbms_metadata.get_ddl('TABLE',     'STUDENT',      'TEST') from dual;
select dbms_metadata.get_ddl('VIEW',      'STUDENT_VIEW', 'TEST') from dual;
select dbms_metadata.get_ddl('INDEX',     'IDX_S_NAME',   'TEST') from dual;
select dbms_metadata.get_ddl('FUNCTION',  'GET_STU_NAME', 'TEST') from dual;
select dbms_metadata.get_ddl('PROCEDURE', 'MY_PROCEDURE', 'TEST') from dual;

2.测试

  • 建表、视图、索引
-- 表
CREATE TABLE STUDENT
(
    S_ID NUMBER (11,0),
    S_NAME NVARCHAR2(100)
);

COMMENT ON TABLE STUDENT IS '学生';
COMMENT ON COLUMN STUDENT.S_ID IS '学生学号';
COMMENT ON COLUMN STUDENT.S_NAME IS '学生姓名';


-- 索引
CREATE INDEX IDX_S_NAME ON STUDENT (S_NAME ASC);

-- 视图
CREATE VIEW STUDENT_VIEW AS
select S_ID, S_NAME
from STUDENT
order by S_ID desc;

COMMENT ON TABLE STUDENT_VIEW IS '学生按学号倒序';


-- 函数
CREATE OR REPLACE function GET_STU_NAME(p_s_id  number)
return varchar2 is p_s_name varchar2(100);
begin
	select s_name into p_s_name from student where s_id = p_s_id;
	return p_s_name;
end;

-- 存储过程
CREATE OR REPLACE procedure "MY_PROCEDURE" is 
begin
	commit;
end;

2.1.查看所有对象的详细信息和注释(表、视图、函数等)

2.1.1.表、视图、字段的详细参数

-- 1.1.表、视图、字段的详细参数
-- 表、视图
select * from sys.dba_tables       where owner in ('TEST') order by owner,table_name;
select * from sys.dba_views        where owner in ('TEST') order by owner,view_name;    -- 在NBCB,select 了TEXT_VC字段导致where 不到任何数据,不知道原因
-- 字段
select * from sys.dba_tab_cols     where owner in ('TEST') order by owner,table_name,column_id;

2.1.2.表、视图、字段的注释说明

-- 1.2.表、视图、字段的注释说明
-- 表、视图
select * from sys.dba_tab_comments where owner in ('TEST') order by owner,table_type,table_name;
-- 字段
select * from sys.dba_col_comments where owner in ('TEST') order by owner,table_name,column_name;

2.1.3.函数、存储过程、触发器等

-- 1.3.函数、存储过程、触发器等
select * from sys.dba_procedures   where owner in ('TEST') order by owner,object_type,object_name;

2.1.4.对象(表、视图、索引、函数等40类object_type)

-- 1.4.对象(表、视图、索引、函数等40类object_type)
select * from sys.dba_objects      where owner in ('TEST') order by owner,object_type,object_name;

2.1.5.更多信息见SYS(索引、函数、触发器等)

  • 本文所有数据来自SYS,更多信息见SYS

2.1.5.1.比如查看索引
select distinct object_type from sys.dba_objects order by object_type;

 2.2.查看所有对象DDL定义语句(表、视图、函数等)


-- 查看对象(表、视图、索引、函数、存储过程等等)DDL定义语句
-- 语法:select dbms_metadata.get_ddl({object_type}, {object_type}, {schema_name}) from dual;
select dbms_metadata.get_ddl('TABLE',     'STUDENT',      'TEST') from dual;
select dbms_metadata.get_ddl('VIEW',      'STUDENT_VIEW', 'TEST') from dual;
select dbms_metadata.get_ddl('INDEX',     'IDX_S_NAME',   'TEST') from dual;
select dbms_metadata.get_ddl('FUNCTION',  'GET_STU_NAME', 'TEST') from dual;
select dbms_metadata.get_ddl('PROCEDURE', 'MY_PROCEDURE', 'TEST') from dual;

9.相关链接

9.1.mysql 查看建表语句DDL,简要查看表字段信息,详细查看表字段信息。SHOW CREATE TABLE sys_user;DESCRIBE sys_user;_mysql

mysql 查看建表语句DDL,简要查看表字段信息,详细查看表字段信息。SHOW CREATE TABLE sys_user;DESCRIBE sys_user;_mysql 查看表的ddl_茅坑的小石头的博客-CSDN博客mysql 查看建表语句DDL,简要查看表字段信息,详细查看表字段信息。SHOW CREATE TABLE sys_user;DESCRIBE sys_user;_mysql 查看表的ddlhttps://blog.csdn.net/lishuoboy/article/details/127903357

9.2.MySQL、Oracle 查看表占用空间大小

MySQL、Oracle 查看表占用空间大小_oracle 查询表占空间大小-CSDN博客文章浏览阅读10w+次。查看当前用户select SEGMENT_NAME as TABLE_NAME,BYTES/1024/1024 as 大小MB from USER_SEGMENTS where SEGMENT_TYPE='TABLE' order by BYTES desc;select * from USER_SEGMENTS order by BYTES desc;查看所有用户..._oracle 查询表占空间大小https://blog.csdn.net/lishuoboy/article/details/100119161

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 在 Oracle 中,可以使用 "DESCRIBE" 或 "DESC" 命令来查看的列信息,其中也包括注释信息。 例如: ``` DESCRIBE 名; ``` 或 ``` DESC 名; ``` 另外,也可以使用 "COLUMN" 命令来查询特定列的详细信息,包括注释: ``` COLUMN 列名 FORMAT A50 SELECT COLUMN_NAME, COMMENTS FROM USER_COL_COMMENTS WHERE TABLE_NAME = '名' AND COLUMN_NAME = '列名'; ``` ### 回答2: 在Oracle中,可以使用DDL语句获取注释DDL数据库定义语言,包括创建、修改和删除数据库对象语句。 要获取注释,可以使用如下的DDL语句: ```sql SELECT COMMENTS FROM USER_TAB_COMMENTS WHERE TABLE_NAME = '名'; ``` 在这个DDL语句中,`USER_TAB_COMMENTS`是Oracle系统提供的一个视图,用于存储注释信息。这个视图包含了所有用户自定义注释。`TABLE_NAME`是一个条件,用于指定要查找注释名称。将该语句中的'名'替换为具体的名,就可以获取到该注释信息。 执行上述的DDL语句后,将返回包含所查询注释文本的结果集。如果该没有注释,则返回空值。通过解析查询结果,可以获取到注释信息。 需要注意的是,该方法仅适用于获取用户定义注释信息。如果需要获取系统或其他用户的注释,需要修改`USER_TAB_COMMENTS`为相应的系统视图,如`ALL_TAB_COMMENTS`。 总之,通过使用DDL语句并指定相关条件,可以获取到Oracle数据库注释信息。 ### 回答3: 在Oracle数据库中,可以通过以下DDL语句来获取注释: ```sql SELECT COMMENTS FROM USER_TAB_COMMENTS WHERE TABLE_NAME = '名'; ``` 其中,`USER_TAB_COMMENTS`是系统视图,包含了用户注释信息。通过将`名`替换为实际的名,可以获取到对应注释信息。 此外,也可以通过以下DDL语句来获取注释: ```sql SELECT COMMENTS FROM ALL_TAB_COMMENTS WHERE TABLE_NAME = '名' AND OWNER = '用户名'; ``` 其中,`ALL_TAB_COMMENTS`是系统视图,包含了所有用户注释信息。通过将`名`替换为实际的名,将`用户名`替换为实际的用户名,可以获取到指定用户下对应注释信息。 需要注意的是,以上DDL语句只能获取到用户自己创建的注释信息,不能获取到系统或其他用户创建的注释信息。同时,如果没有被注释,以上DDL语句将返回空值。 总之,通过DDL语句可以方便地获取Oracle数据库注释信息,根据不同的用户权限和的所属关系,选择相应的系统视图进行查询即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

茅坑的小石头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值