[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