[pgsql-ayuda] Procedimientos Almacenados
Ricardo Arratia Joglar
rarratia@udelmar.cl
Wed, 11 Apr 2001 14:23:35 -0400
pero no me queda claro como devuelve la función un set de datos como lo
hacen los procedimientos almacenados en otros motores.
Ricardo Arratia
----- Original Message -----
From: José David Martínez Cuevas <davma@planet.com.mx>
To: <pgsql-ayuda@tlali.iztacala.unam.mx>
Sent: Wednesday, April 11, 2001 10:49 AM
Subject: Re: [pgsql-ayuda] Procedimientos Almacenados
> mmm....
> No estoy totalmente de acuerdo.
> No se bien que diferencia hay entre un procedimiento almacenado y
funciones
> descritas en la base de datos
>
> Aqui les mando un ejemplo de 'procedimiento almacenado' escrito en
plpgsql,
> que es el API procedural itnerna
> de postgres.
>
> Si hay alguna duda con respecto al procedimiento, escribanme. Las
variables de
> contexto $1 y $2 hacen referencia a los
> parametros de la funcion. Eso esta documentado en el manual de plpgsql.
>
> Saludos !!!!
>
> NOTA: Ojo, este procedimiento es recursivo
>
> *************************
> DROP FUNCTION bloquea_perfil_cascada(int4,int4);
> CREATE FUNCTION bloquea_perfil_cascada(int4,int4) returns int4 as '
> DECLARE
> registro RECORD;
> ret int4 := 1;
> BEGIN
> IF $2 > 5 THEN RETURN 0;
> ELSE
> UPDATE perfil SET estatus_perfil = \'i\' WHERE id_perfil = $1
AND
> id_nivel_usuario = $2;
> FOR registro IN SELECT id_perfil,id_nivel_usuario from perfil
WHERE
> idpadre_usuario = $1 AND id_nivel_usuario = ($2 + 1) LOOP
> ret := ret +
> bloquea_perfil_cascada(registro.id_perfil,registro.id_nivel_usuario);
> END LOOP;
> END IF;
> RETURN ret;
> END;
> '
> LANGUAGE 'plpgsql';
>
--------- Pie de mensaje -------------------------------------------
Archivo historico: http://tlali.iztacala.unam.mx/maillist/pgsql-ayuda
Cancelar inscripcion:
mail to: majordomo@tlali.iztacala.unam.mx
text : unsubscribe pgsql-ayuda