取得列名組合成的字串

lastwinner發表於2005-11-23

開發中常常會用到一個表的欄位組成的字串,通常是用逗號分隔的一個列表,例如C_DM, C_MC, N_YXX
以前都是desc 表,然後將列名複製貼上到Word裡,然後用查詢替換的方式將回車替換成“,”或者其他分隔符來做到,現在用sql來得到

select str from (
select str, rank()over(order by length(str) desc) rk from (
select sys_connect_by_path(column_name,'&Prefix') str from (
select s.*, rank()over(order by column_id desc) rn from user_tab_cols s where s.table_name=upper('&x') )
connect by rn = prior rn-1)
) where rk=1;

執行時輸入字首和表名即可,表名不區分大小寫,對生成的字串去掉最前面的分隔符即可

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29867/viewspace-810588/,如需轉載,請註明出處,否則將追究法律責任。

相關文章