我想查询数据库所有表数据里面包含'522600'的字段名称和所在的表名

funnyball 2006-10-10 04:19:43
前提:在整个数据库,所有表,所有数据里面

我想查询数据库所有表数据里面包含'522600'的字段名称和所在的表名

若能把'522600'换成'522601'最好
...全文
419 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jackile 2006-11-09
  • 打赏
  • 举报
回复
难怪楼主性欲那么低,因为老是不结贴 ~~
doer_ljy 2006-11-09
  • 打赏
  • 举报
回复
大哥们,这么变态的要求都有人给代码啊?
一张一张的遍历,是不是先要买一个大型服务器才行啊!
呵呵!
有意思
funnyball 2006-10-12
  • 打赏
  • 举报
回复
多谢Visual_Studio_Net(打鼠英雄)
就是这个意思

不过得先试试
以前没用过两个游标(是欠套吧?)
xiaoxiao1984 2006-10-11
  • 打赏
  • 举报
回复
奇奇怪怪的需求
RobinHZ 2006-10-11
  • 打赏
  • 举报
回复
“若能把'522600'换成'522601'最好”,你说这句话莫明其妙,这两个数据有什么本质区别吗?
Visual_Studio_Net 2006-10-11
  • 打赏
  • 举报
回复
呵呵,把下面这个改改看行不行,必须确保用户有足够的权限才行
create or replace procedure p_test
is
v_owner varchar2(128);
v_tab varchar2(128);
v_col varchar2(128);
--取出所有的用户表,只要用户创建的
cursor cur_tab is select owner,table_name from all_tables where owner in('创建的所有用户名');
--取出所有用户字段,只要用户创建的
cursor cur_col(l_tab varchar2,l_owner varchar2) is select column_name from all_tab_columns where table_name=l_tab and owner=l_owner;
v_sql varchar2(4000);
begin
--遍历表
for c_tab in cur_tab loop
v_owner:=c_tab.owner;
v_tab:=c_tab.table_name;
--遍历每张表的所有字段,查看是否有值为522600的字段,如果有,更新为522601
open cur_col(v_tab,v_owner);
loop
fetch cur_col into v_col;
exit when cur_col%notfound;
v_sql:='update '||v_owner||'.'||v_tab||' set '||v_col||'=''522601'' where '||v_col||'=(select '||v_col||' from '||v_owner||'.'||v_tab||' where '||v_col||'=''522600'')';
execute immediate v_sql;
end loop;
end loop;
exception
when others then
dbms_output.put_line(SQLCODE||':'||SQLERRM);
end;
多壮志 2006-10-11
  • 打赏
  • 举报
回复
累死了!! ,你还是自己写个过程吧. 另外看看toad之类的工具有没有这样奇怪的功能.
Visual_Studio_Net 2006-10-11
  • 打赏
  • 举报
回复
应该是数据里面包含522600吧,而不是表名和字段名里包含522600?????
sten 2006-10-10
  • 打赏
  • 举报
回复
好像有点难度
shyming 2006-10-10
  • 打赏
  • 举报
回复
這個,沒有用過哦
看看有沒有高手會。。。
Eric_1999 2006-10-10
  • 打赏
  • 举报
回复
表名能找到,
select * from all_tables where table_name like '%522600%'

然后再改
但字段就找不到。

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧