Oracle数据库修改、清除数据库所有表及字段的注释备注信息


1、查询表相关注释信息

--查询当前连接数据库中尚未设置表注释的表
SELECT T.* FROM(
    --查询当前连接数据库的所有表注释
    SELECT * FROM USER_TAB_COMMENTS T WHERE T.TABLE_NAME IN(
        --当前填写数据库的所有表
        SELECT T.TABLE_NAME FROM ALL_TABLES T WHERE T.OWNER = UPPER('NARADA_MES')
   )
)T
WHERE T.COMMENTS IS NULL;

2、设置表注释信息  参考

--错误 如此批量更新表注释 不会成功,因为 USER_TAB_COMMENTS 为视图,不可以直接更改数据 只能通过拼接 COMMENT ON TABLE TAB1 IS 'TAB1'
UPDATE USER_TAB_COMMENTS T SET T.COMMENTS = T.TABLE_NAME;

--正确 通过拼接 COMMENT ON TABLE TAB1 IS 'TAB1' 设置数据库中尚未设置表注释的表
SELECT 'COMMENT ON TABLE '||T.TABLE_NAME||' IS '''||T.TABLE_NAME||''';' FROM(
    --查询当前连接数据库的所有表注释
    SELECT * FROM USER_TAB_COMMENTS T WHERE T.TABLE_NAME IN(
        --当前填写数据库的所有表
        SELECT T.TABLE_NAME FROM ALL_TABLES T WHERE T.OWNER = UPPER('数据库名')
   )
)T
WHERE T.COMMENTS IS NULL;

 3、查询列注释相关信息 参考

--查询当前用户所有表的列注释
SELECT * FROM USER_COL_COMMENTS;
--查询所有表的所有列注释
SELECT * FROM ALL_COL_COMMENTS;
--可能不存在该视图
SELECT * FROM DBA_COL_COMMENTS;

4、清除 表 / 列 注释

--清除所有表注释
SELECT 'COMMENT ON TABLE '||T.TABLE_NAME||' IS '''';' FROM ALL_TABLES T WHERE T.OWNER = UPPER('数据库名')
--清除所有列注释
SELECT 'COMMENT ON COLUMN '||T.TABLE_NAME||'.'||T.COLUMN_NAME||' IS '''';' FROM USER_COL_COMMENTS T;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM