当前位置:数据库 > Oracle >>

Oracle批量修改表字段类型

Oracle批量修改表字段类型
 
  表空间下所有的表里CHAR类型的字段改成VARCHAR2,由于数据表字段太多,一个一个改太麻烦,所以我就想到了如下方式:
 
[sql]
DECLARE  
    CURSOR TEMP IS SELECT TABLE_NAME,COLUMN_NAME,DATA_LENGTH FROM USER_TAB_COLUMNS WHERE DATA_TYPE = 'CHAR';  
    STR  VARCHAR2(100) := '';  
  BEGIN   
      FOR S IN TEMP LOOP  
        STR := 'ALTER TABLE '||S.TABLE_NAME||' MODIFY('||S.COLUMN_NAME||' VARCHAR2('||S.DATA_LENGTH||'))';  
        DBMS_OUTPUT.PUT_LINE(STR);  
      EXECUTE IMMEDIATE STR ;  
        
      END LOOP;  
  END;  
 
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,