浏览 2841 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-11-03
该视图主要字段说明如下: TABLE_NAME 表、视图或Clusters名称 COLUMN_NAME 列名 DATA_TYPE 数据类型 我的需求如下:要在当前用户的表里面找到所有商品ID为A的字段并将其更新 declare v_sql varchar2(1000); begin for cur_table in (select distinct(table_name) table_name from user_tab_columns a where a.column_name = 'COMMODITYID' ) loop v_sql :='update '||cur_table.table_name ||' set commodityid=''新的字符串'' where commodityid=''原来的字符串'''; dbms_output.put_line(v_sql); execute immediate v_sql; commit; end loop; end; 接下来我对用户所有表中的所有列进行查看,看看是否还含有该字符串 declare v_sql varchar2(1000); count1 number; begin for cur_table in (select distinct (table_name) table_name from user_tab_columns a) loop for cur_column in (select distinct (column_name) column_name from user_tab_columns a where a.TABLE_NAME = cur_table.table_name) loop v_sql := 'select count(*) from ' || cur_table.table_name || ' where instr(' || cur_column.column_name || ',''查找的字符串'')>0'; execute immediate v_sql into count1; if (count1 > 0) then dbms_output.put_line(cur_column.column_name); dbms_output.put_line(count1 || ';' || v_sql); end if; end loop; end loop; end; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |