采用user_table_column即可,
该视图主要字段说明如下:
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;
分享到:
相关推荐
有一个同事的数据迁移程序有个问题,没有考虑中文编码字符,由于迁移的表有几千万数据,但是有中文的记录集很少,问我能否找出有中文内容的记录数。首先我想到的是采用检测每个字节ASCII的方式,这样的话需要写一个...
今天有一个同事的数据迁移程序有个问题,没有考虑中文编码字符,由于迁移的表有几千万数据,但是有中文的记录集很少,问我能否找出有中文内容的记录数。首先我想到的是采用检测每个字节ASCII的方式,这样的话需要写...
往数据库中添加数据时,字段值自动加1: 1、创建表 2、创建序列 3、创建触发器
自己工作时写的oracle搜索数据库,查找想要找的字符串.配置简单,省去单独写sql的时间.运行需要jre运行环境.
项目需求是这样的表里的某个字段存储的值是以逗号分隔开来的,要求根据分隔的每一个值都能查出来数据,但是不能使用like查询。这篇文章主要介绍了Oracle字段根据逗号分割查询数据,需要的朋友可以参考下
NULL 博文链接:https://czjxdm.iteye.com/blog/466948
判断字符串是否包含emoji表情
Oracle接收长度大于4000的字符串 Oracle接收长度大于4000的字符串
找了网上很多资料,都没有详细的做法有的还很复杂,自己写了个分割函数,通过直接查询就能分割多行,很方便。
Oracle多行记录合并/连接/聚合字符串的几种方法
该程序根据Excel文件的第一个Sheet页内容,生成数据库表,并将数据导入生成的表中; 操作说明:1>:输入数据库相关信息,登陆数据库; 2>:选择Excel文档,输入设置信息,创建数据库表结构; 3>:点击导入数据按钮...
CLOB变量需要dbms_lob.createtemporary,临时表空间中,建立临时LOB。 大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,建立临时LOB。 大数据量,返回值虽然是CLOB...
oracle存储过程中入参是逗号分隔,并且参数要使用在in过滤语句中查询数据。处理的方法与实现
-- 查询某张表中有哪些字段 -- 自循环表中 由叶子节点查父节点 -- 查子节点 复制一张表的数据到另外一张表中 PLSQL中存储过程及游标的基本使用 Oracle中恢复某张表丢失数据的方法 -- 把SELECT出来的结果导到一个文本...
本文分别介绍使用trim+translate函数或regexp_like函数判断表中的某个字段是否为数字的方法,希望对大家有所帮助。
今天查询一个数据字段一直提示字符无效,明明在数据库表字段中是存在的; 查询后得知,数据库表字段为小写时,查询需要将字段名小写并加上双引号; 表名同理,我这里表名是大写,暂时不需要改。 搜到一个批量修改...
oracle查询不含括号不含指定字符的记录方法如下: with tmp_t as( select 1 as id,'测试4321_CS' as name from dual union all select 2,'测试 1200(测试版)' from dual union all select 3,'测试123(测试版)...
删除HKDY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI中除Microsoft ODBC for Oracle注册表键以外的所有含有Oracle的键。 删除环境变量中的PATHT CLASSPATH中包含Oracle的值。 删除“开始”/“程序”中所有...
Oracle数据库的两个字段值为逗号分割的字符串,例如:字段A值为“1,2,3,5”,字段B为“2”。 想获取两个字段的交集(相同值)2,获取两个字段的差集(差异值)1,3,5。 一、最终实现的sql语句 1、获取交集(相同值)...