oracle 中 同时修改一个数据库中多个表里面的同一字段的长度

在oracle中 我一个数据库里面有多个表含有 同一字段,我需要增加这个字段的长度,可以一次性 用一个命令解决吗???

比如你要修改id长度是52
declare
v_sql varchar2(1000);
cursor cr is
select table_name from user_tab_columns where column_name = 'ID';
begin
for r in cr loop
v_sql := 'alter table '||r.table_name||' modify ID VARCHAR2(52)';
execute immediate v_sql;
end loop;
end;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-12
命令估计够呛
我给你提供个思路吧
1.在系统表里查找到都有哪些表有这个字段
2.用1检索出来的记录的表名,游标,循环
3.循环处理各个表中的字段,修改表结构
第2个回答  2011-12-12
一般说来只能一个一个改~你可以试下用过程或触发器