Oracle - Funciones y Cursores

 
Vista:

Funciones y Cursores

Publicado por Ahmed Fernandez (1 intervención) el 16/02/2001 21:39:16
Necesito conocer alguna forma que un procedimiento o funcion pueda devolver un cursor o un conjunto de registros.

Esto para ser utilizado con ADO.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Funciones y Cursores

Publicado por antonio campos (1 intervención) el 21/02/2001 12:22:02
Para hacer esto en PL/SQL tienes que definir un nuevo tipo de dato que este basado en una tabla o bien crear un nuevo tipo record.

type tipoTabla is table of MITABLA%rowtype
index by binary_integer;

type tipoRecord is record (
campo01 number :=0,
campo02 varchar2(10) :='',
campo03 number :=0
);

Ahora, en la funcion tenemos que declarar parametros de salida basados en estos tipos:

function f (p01 out tipoTabla,
p02 out tipoRecord)
return number is
begin

p01(1).campo_tabla01 := 'PEPE';
p01(1).campo_tabla02 := 34;

p02(1).campo01 := 120;
p02(1).campo02 := 'LUIS';
p02(1).campo03 := 34.67;

return (1);
end f;

Espero que esto te sirva de utilidad.
Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

llamar store function desde php, oracle8

Publicado por claudio (1 intervención) el 15/05/2002 21:16:54
hola.....me gustaría saber como puedo llamar una funcion de pl/sql desde php.
las procedures se que es begin procedure_name(variables), pero no se como llamar a la funcion.
lo intento y me da un error ORA-06550, y PLS-00553.
les agradeceria mucho si me pudiesen ayudar.....

suerte y gracias...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:llamar store function desde php, oracle8

Publicado por Josep Guitart (1 intervención) el 06/12/2002 19:19:20
hola
prueba en llamarlo como un consulta (select)
construye el siguiente string para ejecutarlo en el PHP:
"SELECT nombre_funcion ( parametros ) FROM DUAL"
despues recoges el resultado como siempre.

PEP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:llamar store function desde php, oracle8

Publicado por Mahesh Caroicar (1 intervención) el 18/12/2008 17:36:38
Esta funcion me devuelve el dia de la semana cuando le escribo la fecha. Importante es que tengas la extension OCI en tu PHP, de lo contrario no sirve

<?php //echo

$fecha='15/12/2008';
$base="//IP DEL SERVIDOR:1521/NOMBRE DEL SERVICIO";
$usuario="NOMBRE USUARIO";
$password="PASSWORD";

if ($con=oci_connect($usuario, $password, $base,"AL32UTF8"))
{
$query="begin:V_FECHA:=RETORNA_DIA('".$fecha."');end;";
$stid=oci_parse($con,$query);
oci_bind_by_name($stid,':V_FECHA',$Z,30);
oci_execute($stid);

if (!$Z)
{
echo "Error en el Parametro";
}else{
echo "Hoy es".$Z;
}

oci_free_statement($stid);
}


?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar