Posted on 2007-09-07 13:16
石头 阅读(2034)
评论(0) 编辑 收藏 引用 所属分类:
数据库技术
项目开发一段时间了,发现表里面一个字段少了一位,郁闷呀,插入老是报列过大,可是表关联贼多,怎么办呢?实在没有啥好方法,于是写了段SQL,不过缺点是表如果表之间有关联,必须先清空表中的数据,一个表当然无所谓了,呵呵。。。。。 这样就可以更改属于你们自己用户下的所有包含此字段的表,查出来是更新语句,你把它整体复制执行就可以了
select distinct 'alter table ' || table_name || ' modify ' || ColumnName || ' CHAR(17);'
from cols
where data_type = 'CHAR'
and column_name = ColumnName
and table_name in(
select t.object_name from all_objects t where t.owner='NEWPRAS' and t.object_type ='TABLE')