[20130723]ORACLE 12C Invisible Columns的補充.txt

lfree發表於2013-07-23
[20130723]ORACLE 12C Invisible Columns的補充.txt



正好看了以上鍊接,執行以上過程,可以調整顯示順序。記錄一下。

SQL> create or replace
  2  procedure fix_cols(p_tname varchar2, p_col_list varchar2) is
  3    l_col_list varchar2(1000) := p_col_list||',';
  4    type clist is table of varchar2(30)
  5      index by pls_integer;
  6   c clist;
  7
  8   this_col varchar2(30);
  9   l_id int;
 10  begin
 11    while instr(l_col_list,',') > 1 loop
 12      c(c.count+1) := substr(l_col_list,1,instr(l_col_list,',')-1);
 13      l_col_list := substr(l_col_list,instr(l_col_list,',')+1);
 14      dbms_output.put_line(c(c.count));
 15    end loop;
 16
 17    for i in 1 .. c.count loop
 18      loop
 19         select column_name
 20         into   this_col
 21         from   user_tab_columns
 22         where  table_name = p_tname
 23         and    column_id = i;
 24
 25         exit when this_col = c(i);
 26
 27         execute immediate 'alter table '||p_tname||' modify '||this_col||' invisible';
 28         execute immediate 'alter table '||p_tname||' modify '||this_col||' visible';
 29      end loop;
 30    end loop;
 31  end;
 32  /


SQL> exec fix_cols('T','A,B,C');

--實際上就是按照順序執行invisible,在visible,這樣就可以按照順序顯示。

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

相關文章