当前位置:数据库 > 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;  
 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,