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;

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

相关推荐
早睡冠军候选人2 小时前
SQL(结构化查询语言)的四大核心分类
大数据·数据库·sql
Lisonseekpan3 小时前
MVCC的底层实现原理是什么?
java·数据库·后端·mysql
一勺-_-3 小时前
全栈:JDBC驱动版本和SQLserver版本是否有关系?怎么选择JDBC的版本号?
数据库·sqlserver
HMBBLOVEPDX3 小时前
MySQL的存储引擎:
数据库·mysql·存储引擎
灰原喜欢柯南3 小时前
实战:MyBatis 中 db.properties 的正确配置与最佳实践
java·数据库·mybatis
水根LP494 小时前
利用微软SQL Server数据库管理员(SA)口令为空的攻击活动猖獗
数据库·microsoft·sqlserver·dba
Starry_hello world4 小时前
MySql 表的操作
数据库·笔记·mysql
山茶花开时。5 小时前
[Oracle] ADD_MONTHS()函数
数据库·oracle
派可数据BI可视化5 小时前
汽车流通行业4S门店生存性指标:零服吸收率
数据库·信息可视化·数据分析·汽车·商业智能bi
怒放吧德德6 小时前
软考架构师:数据库的范式
数据库