首页 > 数据库技术 > 详细

PL/SQL to update all columns

时间:2019-09-23 16:13:37      阅读:93      评论:0      收藏:0      [点我收藏+]

 

undefine schema_name;
declare 
  l_Err varchar2(200);
begin
  for r in (select  atc.table_name, atc.column_name, atc.data_length
            from    all_tab_columns  atc, all_tables tab WHERE atc.owner=tab.OWNER  and atc.table_name=tab.table_name
            and   atc.data_type   = ‘VARCHAR2‘
            and     atc.char_used   = ‘B‘ --Indicates that the column uses BYTE length semantics (B) or CHAR length semantics (C)
--            and     atc.table_name  = ‘xx‘ --TEST
            and     atc.owner       = upper(‘&&schema_name‘)) 
  loop
    begin
      execute immediate ‘alter table ‘|| upper(‘&&schema_name‘)
                                      || ‘.‘
                                      || r.table_name
                                      || ‘ modify ‘
                                      || r.column_name
                                      || ‘ varchar2(‘
                                      || r.data_length
                                      || ‘ char)‘; 
    end; 
    commit; 
  end loop; 
end;
/

 

PL/SQL to update all columns

原文:https://www.cnblogs.com/kakaisgood/p/11571922.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!