各位大侠,小弟这段话的目的是搜索数据库中所有字段,凡是数据存在12008值得字段,都存到SYSTEM.asearch表中去。
但是报错一直(line 10就是“execute immediate v_sql into v_count;
”这一行):
ERROR at line 1:
ORA-00942: table or view does not exist
ORA-06512: at line 10实在找不出错误的地方了。
跪求赐教!!!declare
v_const number(11,0) := 12008;
v_sql varchar2(5000);
v_count number(11,0);
cursor c_column is
select owner,table_name,column_name from all_tab_columns where data_type = 'NUMBER' ;
begin
for v_column in c_column loop
v_sql := 'select count(*) from '||v_column.owner||'.'||v_column.table_name||' where '||v_column.column_name||'='||v_const;
execute immediate v_sql into v_count;
if v_count > 0 then
insert into SYSTEM.asearch(owner_name,table_name,column_name) values (v_column.owner,v_column.table_name,v_column.column_name);
end if;
end loop;
commit;
end;
/
但是报错一直(line 10就是“execute immediate v_sql into v_count;
”这一行):
ERROR at line 1:
ORA-00942: table or view does not exist
ORA-06512: at line 10实在找不出错误的地方了。
跪求赐教!!!declare
v_const number(11,0) := 12008;
v_sql varchar2(5000);
v_count number(11,0);
cursor c_column is
select owner,table_name,column_name from all_tab_columns where data_type = 'NUMBER' ;
begin
for v_column in c_column loop
v_sql := 'select count(*) from '||v_column.owner||'.'||v_column.table_name||' where '||v_column.column_name||'='||v_const;
execute immediate v_sql into v_count;
if v_count > 0 then
insert into SYSTEM.asearch(owner_name,table_name,column_name) values (v_column.owner,v_column.table_name,v_column.column_name);
end if;
end loop;
commit;
end;
/
解决方案 »
- 求大虾们 一个sql
- 回滚表空间undotbs和回退段system有什么区别
- 存储过程访问另外一个数据库,除了dblink,还有什么连接方法
- update dept set dname=dname+'xxxxxxxxx' where deptno=10;
- 寻SQL达人,求一SQL语句,内附图,百分奉上.
- 关于不同操作系统下查询窗口自动跳出的问题
- 在打开sqlplus是用system/manager登陆时出现ORA-27101错误?怎么解决?
- 这个sql是这样写吗?
- 急!!!如何将表空间备份,恢复写成存储过程???
- 高手请救!ORA-00439????
- 为什么总是报缺少from,当把t.dic_name、t.naime写死后就不会报这个错,
- 创建sequence时总是抛权限不足
这句抓到的数据,有可能存在没有授权select给当前用户的表,所以提示表不存在。可以改成这样再试
select owner,table_name,column_name from all_tab_columns where data_type = 'NUMBER' and owner=当前用户 ;