[pgsql-ayuda] Procedimientos Almacenados
JARRIN FLORES JORGE ALEXIS
JJARRIN@puceuio.puce.edu.ec
Wed, 11 Apr 2001 19:31:14 -0500
Bueno, yo los veo iguales, al menos con SQL Server lo que cambia es la
nomenclatura, SQL Server usa "TSQL" que no se que tan "estandar" es y
PostgreSQL usa "PLPGSQL"
> -----Mensaje original-----
> De: José David Martínez Cuevas [SMTP:davma@planet.com.mx]
> Enviado el: miércoles 11 de abril de 2001 9:50
> Para: pgsql-ayuda@tlali.iztacala.unam.mx
> Asunto: 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';
>
> *************************
>
>
> 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
--------- 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