首页 > 数据库技术 > 详细

PL/SQL to update all columns

时间:2019-09-23 16:13:37      阅读:88      评论: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 版权所有
打开技术之扣,分享程序人生!