Crear Funcion Especial
Publicado por Javier (4 intervenciones) el 01/12/2006 01:01:37
Hola a todos, Tengo una duda espero que me puedan ayudar
Como puedo hacer para que una funcion me retorne varios tipos de datos, es decir si dentro de la Funcion tengo un select al cual hago referencia a diversos campos de una tabla que pueden ser numericos, cadenas o fechas pueda regresar unos de ellos, es decir pondria un parametro que me indique que dato del select quiero que me reporte el select, algo asi :
creste function f_prueba
( p_param1 in varchar,
p_param2 in varchar,
p_param3 in varchar
) return --- aqui es donde necesito una variable que me acepte varios tipos de datos
as
v_codigo varchar2;
v_nombre varchar2;
v_fecha date;
v_sueldo number(12,2);
begin
select codigo, nombre, fecha_nac, sueldo
from empledado
where campo1 = p_param1 and campo2 = p_param2 ;
-- aqui es mi problema
if p_param3 = 'codigo' then
return v_codigo ;
end if;
if p_param3 = 'nombre' then
return v_nombre ;
end if;
if p_param3 = 'fecha' then
return v_fecha ;
end if;
if p_param3 = 'sueldo' then
return v_sueldo ;
end if;
exception when no_data_found then return ''
end;
algo asi quiero crear para poder utilizar como una subconsulta, en visual basic hay un dato ( Variant ) el cual me permite asignarle cualquier tipo de dato ya sea cadena, numero o fecha, quiero saber si se puede crear una funcion asi como estoy pensando o si hay algun tipo varian ....
Agradecere sus comentarios
----Saludos desde Peru
Como puedo hacer para que una funcion me retorne varios tipos de datos, es decir si dentro de la Funcion tengo un select al cual hago referencia a diversos campos de una tabla que pueden ser numericos, cadenas o fechas pueda regresar unos de ellos, es decir pondria un parametro que me indique que dato del select quiero que me reporte el select, algo asi :
creste function f_prueba
( p_param1 in varchar,
p_param2 in varchar,
p_param3 in varchar
) return --- aqui es donde necesito una variable que me acepte varios tipos de datos
as
v_codigo varchar2;
v_nombre varchar2;
v_fecha date;
v_sueldo number(12,2);
begin
select codigo, nombre, fecha_nac, sueldo
from empledado
where campo1 = p_param1 and campo2 = p_param2 ;
-- aqui es mi problema
if p_param3 = 'codigo' then
return v_codigo ;
end if;
if p_param3 = 'nombre' then
return v_nombre ;
end if;
if p_param3 = 'fecha' then
return v_fecha ;
end if;
if p_param3 = 'sueldo' then
return v_sueldo ;
end if;
exception when no_data_found then return ''
end;
algo asi quiero crear para poder utilizar como una subconsulta, en visual basic hay un dato ( Variant ) el cual me permite asignarle cualquier tipo de dato ya sea cadena, numero o fecha, quiero saber si se puede crear una funcion asi como estoy pensando o si hay algun tipo varian ....
Agradecere sus comentarios
----Saludos desde Peru
Valora esta pregunta


0