批量查找Oracle中多个表中同一字段的长度
select t_tables.table_name,
t_column.column_name,
t_column.data_length,
'alter table ' || t_column.table_name || ' modify ' || t_column.column_name ||
' varchar2(50);' as alter_sqlstr
from user_tab_columns t_column, user_tables t_tables
where t_column.table_name = t_tables.table_name
and t_tables.table_name like '%R_%' -- 模糊匹配的表名
and t_column.data_length = 20 -- 可根据字段长度
and t_column.data_type = 'VARCHAR2' -- 可根据字段类型
and t_column.column_name LIKE '%XM%' --过滤字段
-- and t_tables.table_name = 'RP_NW_HWXSYBG' -- 具体那张表
-- and t_column.column_name not LIKE '%STATUS%' --过滤字段
查询结果