create procedure pro
as
cursor t_sor is
select name,sourcetable,sourcefield from A;
str varchar2(100);
type tt is ref cursor;
vv tt;
v_sourcefield varchar2(50);
begin
for v_sor in t_sor loop
str:='select '||v_sor.sourcefield||' from '||v_sor.sourcetable;
open vv for str;
loop
fetch vv into v_sourcefield;
exit when vv%notfound;
dbms_output.put_line(v_sor.name||v_sor.sourcetable||v_sor.sourcefield||v_sourcefield);
end loop;
close vv;
end loop;
end;
/
as
cursor t_sor is
select name,sourcetable,sourcefield from A;
str varchar2(100);
type tt is ref cursor;
vv tt;
v_sourcefield varchar2(50);
begin
for v_sor in t_sor loop
str:='select '||v_sor.sourcefield||' from '||v_sor.sourcetable;
open vv for str;
loop
fetch vv into v_sourcefield;
exit when vv%notfound;
dbms_output.put_line(v_sor.name||v_sor.sourcetable||v_sor.sourcefield||v_sourcefield);
end loop;
close vv;
end loop;
end;
/
解决方案 »
- 请教一份er模型请问这叫什么哇。。我究竟了好几天了。各种资料找不到。。
- 下面有oracle的习题,那个大哥帮忙做下,我把习题和表都贴到上边去了
- oracle用户权限问题
- 关于去除sql文多余的括号的问题。
- 请大家多多指导,都来拣分啊(权限小问题)
- 怎么在生产新表的时候给表 动态指定表空间?
- 关于oracle8.0的安装问题!!!在线等待!
- 这个功能怎么实现,在线等待(up有分)
- 请看一下这是什么错?
- ORACLE11G ORA-03127:no new operations allowed until the active operation ends
- 关于Oracle入门问题
- 请问各位,有谁知道Oracle10g在Linux下如何来配置数据库?
create or replace function GetValue(fi_table in varchar2, fi_field in varchar2) return number
is
Result number;
strSQL varchar2(100);
TYPE tt is ref cursor;
vv tt;BEGIN
strSQL := 'select '||fi_field||' from '||fi_table;
OPEN vv FOR strSQL;
FETCH vv INTO Result;
CLOSE vv;
RETURN Result;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN '';
END;查询这样便可:
select name,sourcetable,sourcefiled,getvalue(sourcetable,sourcefield) value from a谢谢