首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

编写函数的一个高级问题

2014-01-28 
传人参数为表名,字段名等 假设我设置表名变量为view_name ,字段名为col_name 这里我需要将view_name中col_n

传人参数为表名,字段名等

假设我设置表名变量为view_name ,字段名为col_name

这里我需要将view_name中col_name的值全部取出来,拼成1,2,3,4,5,6等这种以逗号分割的形式.

这个问题应该如何做?

------解决方法--------------------------------------------------------
create or replace function getvaluebytab(in_tabname in varchar2,in_colname in varchar2)
return varchar2
is
v_sql varchar2(300);
v_str varchar2(50);
v_return varchar2(4000);
type t_cur_ref is ref cursor;
vc_value t_cur_ref;
begin
v_return :=' ';-- 初始化 v_return
v_sql:='select '||in_colname||' from '||in_tabname;
open vc_value for v_sql;

loop
fetch vc_value into v_str;
exit when vc_value%NOTFOUND;
if length(v_return)=1 then
v_return := v_str;
else
v_return := v_return ||','||v_str;
end if;
end loop;
close vc_value;
return v_return;
end getvaluebytab;
/

        

热点排行