[pgsql-ayuda] Procedimientos Almacenados

=?iso-8859-1?Q?Jos=E9?= David =?iso-8859-1?Q?Mart=EDnez?= Cuevas davma@planet.com.mx
Wed, 11 Apr 2001 09:49:49 -0500


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';

*************************


JARRIN FLORES JORGE ALEXIS wrote:

> Hola a mi ya me contestaron esta, no es posible hacer Stored Procedures,
> pero puedes crear funciones dentro de la base de datos usando un lenguaje
> propio de PostgreSQL o C.
>
>  ¿Aprendí? :)
>



--
--------------------
                    "Imagination is more important than knowledge"
                                                A. Einstein
   Jose David Martinez Cuevas
   ICQ: 4810 3403



--------- 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