Oracle查询表中指定字段的数据是否含有某个字符
2013-03-27 21:32
274 查看
采用user_table_column即可,
该视图主要字段说明如下:
TABLE_NAME 表、视图或Clusters名称
COLUMN_NAME 列名
DATA_TYPE 数据类型
我的需求如下:要在当前用户的表里面找到所有商品ID为A的字段并将其更新
接下来我对用户所有表中的所有列进行查看,看看是否还含有该字符串
该视图主要字段说明如下:
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;
相关文章推荐
- ORACLE查询字段中含有空格的数据
- mysql判断查询的字段的数据是否包含指定的字符串
- oracle 查询表中字段里数据是否有重复
- oracle查询某个字段重复数据以及截取字符、查找字符下标
- oracle查询表中字段里数据是否有重复
- oracle 查询单表某个字段 数据是否有重复
- oracle查询某表中是否含有某字段
- Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串
- oracle-查询数据,其中指定字段重复的只取其中一条
- Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串
- sql语句 查询字段中指定字符之间的数据
- oracle 存储过程 判断字段中是否包含指定的字符
- oracle的常用函数 instr() 和substr()函数 博客分类: oracle 在Oracle中 可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。 在一个
- oracle如何通过sql查询VARCHAR2字段含有的单引号?
- 查询数据表中某字段值是否有多条记录相同的sql语句
- oracle删除字段中的空格、回车及指定字符
- mysql 查询某列里是否含有某字符
- 连接查询(多个表),通过where指定连接字段,从而只查询连个表中都有的数据
- Oracle sql判断一个字段是否全数字 或含有中文