解决方案 »
- Oracle数据库的schedule job怎么生成创建脚本
- 怎样定时把一个表的数据统计后存入另一个表,刚接触不会写
- 求助一个mysql查询语句的问题,望大虾们指导,在线等
- 如何更新引用类型字段?make_ref报错(急~~~~~~~~)
- 关于“not in”的问题
- 高分求sql语句,2个表字段一样,查询2个表中数据不同的数据。
- ※※请提问的XDJM在提问的同时,尽量注名oracle的版本号,好吗?※※希望斑竹能够置顶
- 各位大虾,proc紧急问题求教,晕死我了
- 请问这条语句如何写才能提高效率?
- oracle数据库怎么看几个表的关联关系
- 创建sequence时总是抛权限不足
- 大表查询优化有哪些方法
表all_tab_columns你确认创建了不,还是创建到别的用户下了.你先select * from all_tab_columns,有没有报错.
换成
select table_name,column_name from all_tab_columns where data_type = 'NUMBER' and owner='MM_IN' ;
如果要查拥有权限的所有的表select table_name,column_name from all_tab_columns where data_type = 'NUMBER';
改为
select owner,table_name,column_name from all_tab_columns where data_type = 'NUMBER';
然后
v_sql := 'select count(*) from MM_IN.'||v_column.table_name||' where '||v_column.column_name||'=12008';
改为
v_sql := 'select count(*) from '||v_column.owner||'.'||v_column.table_name||' where '||v_column.column_name||'=12008';
恩其实我的语句是这样子的,当时想简化一点没留意造成了误会,不好意思,我是要查询所有用户底下的表,就是报那个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;
/