Oracle 批量修改全表字段

由于业务上需要把某个库的表同步到另外一个库的相似表中,结果发现目标表中的字段长度不够,但是字段有特别多,几十个表,上千个字段,搞起来实在费劲所以写了以下脚本处理:

sql 复制代码
declare 
  dbname varchar2(100);
  tablename varchar2(100);
BEGIN
    dbname :='pdata';
    tablename :='t_dsm_ict_product_main';
    FOR rec IN (SELECT column_name,DATA_LENGTH FROM all_tab_columns WHERE table_name = UPPER(tablename) and  DATA_TYPE NOT IN ('CLOB'))
    LOOP
        --EXECUTE IMMEDIATE 'ALTER TABLE YOUR_TABLE MODIFY (' || rec.column_name || ' VARCHAR2(SIZE * 2))';
        DBMS_OUTPUT.PUT_LINE('ALTER TABLE '||upper(dbname)||'.'||upper(tablename)||' MODIFY (' || rec.column_name || ' VARCHAR2('||rec.DATA_LENGTH * 2||'));'); 
    END LOOP;
END;

以上代码修改注释部分,即可使用

相关推荐
心平愈三千疾40 分钟前
通俗理解JVM细节-面试篇
java·jvm·数据库·面试
我科绝伦(Huanhuan Zhou)9 天前
Oracle|Oracle SQL*Plus 配置上下翻页功能
数据库·sql·oracle
Cachel wood9 天前
Spark教程6:Spark 底层执行原理详解
大数据·数据库·分布式·计算机网络·spark
java—大象9 天前
基于java SSM的房屋租赁系统设计和实现
java·开发语言·数据库·spring boot·layui·mybatis
Mutig_s9 天前
Spring Boot动态数据源切换:优雅实现多数据源管理
java·数据库·spring boot·后端·mybatis
Python小老六9 天前
单片机测ntc热敏电阻的几种方法(软件)
数据库·单片机·嵌入式硬件
矿渣渣9 天前
SQLite3 在嵌入式系统中的应用指南
数据库·sqlite·嵌入式实时数据库
@昵称不存在9 天前
Python csv 模块
开发语言·数据库·python
程序猿小D9 天前
[附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+Vue实现的校园二手交易平台管理系统,推荐!
java·数据库·mysql·spring·vue·毕业设计·校园二手交易平台
DoWeixin69 天前
【请关注】hBase要用的顺畅的思路
数据库