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