数据库中如何修改某个用户下所有表的字符串按某个比例的长度

这篇文章将为大家详细讲解有关数据库中如何修改某个用户下所有表的字符串按某个比例的长度,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

应用情况:
1、oracle的gbk导入到utf8的oracle库,需要乘以1.5倍
2、mysql的库导入到utf8的oracle库,需要乘以3倍

set heading off
set space 0
set pagesize 0
set trimout on
set trimspool on
set linesize 2500


spool modify_len.sql
select 'alter table '||table_name||' modify ('||column_name||' '||data_type||'('||ceil(data_length*1.5)||'));'
from user_tab_columns where data_type in ('VARCHAR2','CHAR','NCHAR','NVARCHAR2') and table_name not like 'BIN%' and table_name like 'DSJ%';
spool off


@modify_len.sql

关于“数据库中如何修改某个用户下所有表的字符串按某个比例的长度”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。