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;