Oracle中大量表字段+備註轉化爲導出excel時生成別名的快捷方法&根據備註獲取數據庫中相同備註字段名

實際開發時我們經常需要將一個表的數據以excel的形式導出,導出時列頭需要用別名,這時如果建表時添加了備註我們可以通過一句sql語句將sql字符串輸出:

select wmsys.wm_concat(ss) from (select 'a.'||tc.COLUMN_NAME||' '||cc.comments ss from user_tab_columns tc
left join user_col_comments cc on cc.table_name = tc.TABLE_NAME and cc.column_name = tc.COLUMN_NAME
where tc.Table_Name=UPPER('表名') order by tc.column_id asc)t

其中UPPER函數內填你需要輸出的表名,user_tab_columns /user_col_comments 爲Oracle自帶的系統視圖分別用於存放所有表字段的信息及字段備註信息。
同理,我們在建新表的時候總是會糾結怎麼給字段命名,首先我們需要查找沿用數據庫中已有相同字段的命名保證命名的一致性,我們可以使用以下sql迅速的查找出來:

select cc.column_name,cc.comments,tc.DATA_TYPE,tc.DATA_LENGTH from user_tab_columns tc
left join user_col_comments cc on cc.table_name = tc.TABLE_NAME and cc.column_name = tc.COLUMN_NAME
where cc.comments like '%海關名稱%'

查詢結果:

這樣我們可以輕鬆的把已有的相同字段信息找到並沿用過來,既方便我們快速的建表又很好的保證數據表命名的全局一致性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章