Oracle 批量修改表字段类型

来源:互联网 发布:考浙江大学研究生知乎 编辑:程序博客网 时间:2024/04/30 17:56

  表空间下所有的表里CHAR类型的字段改成VARCHAR2,由于数据表字段太多,一个一个改太麻烦,所以我就想到了如下方式:

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;


原创粉丝点击