Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

como pasar parametros cuando quiero ejecutar una funcion

Estas en el tema de como pasar parametros cuando quiero ejecutar una funcion en el foro de PostgreSQL en Foros del Web. Soy nuevo en este tema del postgres espero que me colaboren tengo la sgte funcion: CREATE OR REPLACE FUNCTION abmusuarios() RETURNS void AS $BODY$declare tipo1 ...
  #1 (permalink)  
Antiguo 11/04/2007, 13:17
 
Fecha de Ingreso: abril-2007
Mensajes: 27
Antigüedad: 17 años
Puntos: 0
como pasar parametros cuando quiero ejecutar una funcion

Soy nuevo en este tema del postgres espero que me colaboren tengo la sgte funcion:

CREATE OR REPLACE FUNCTION abmusuarios()
RETURNS void AS
$BODY$declare
tipo1 smallint;
codigo1 char(3);
paterno1 character varying(50);
materno1 character varying(50);
nombre1 character varying(50);
usuario1 character varying(50);
clave1 character varying(255);
categoria1 smallint;
estado1 char(1);
clave2 character varying(255);
begin
IF tipo1 = 1 THEN BEGIN
clave2 := md5(clave1);
INSERT INTO empleado (codigo,paterno,materno,nombre,usuario,clave,categ oria,estado) VALUES (codigo1,paterno1,materno1,nombre1,usuario1,clave2 ,categoria1,estado1);
END;
ELSE
BEGIN
clave2:=md5(clave1);
UPDATE empleado SET codigo=codigo1,paterno=paterno1,materno=materno1,n ombre=nombre1,usuario=usuario1,clave=clave2,catego ria=categoria1,estado=estado1 WHERE usuario=usuario1;
END;
END IF;
RETURN;

END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION abmusuarios() OWNER TO postgres;

como hago para ejecutarlo con analiazador de consultas del pgadmimIII
lei que tengo que poner lo sgte
select abmusuarios()
pero lo que no se es como pasarle los parametros que requiero es decir el tipo1,codigo1,etc.....
Espero su ayuda y colaboracion gracias
  #2 (permalink)  
Antiguo 11/04/2007, 14:52
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 8 meses
Puntos: 0
Re: como pasar parametros cuando quiero ejecutar una funcion

Es sencillo solo coloca algo como lo siguiente:

CREATE OR REPLACE FUNCTION abmusuarios(tipo1 smallint,codigo1 character,paterno1 "character varying",materno1 "character varying",nombre1 "character varying",usuario1 "character varying",clave1 "character varying",categoria1 smallint,estado1 character,clave2 "character varying")
RETURNS void AS
$BODY$declare
BEGIN
IF tipo1 = 1 THEN BEGIN
clave2 := md5(clave1);
INSERT INTO empleado (codigo,paterno,materno,nombre,usuario,clave,categ oria,estado) VALUES (codigo1,paterno1,materno1,nombre1,usuario1,clave2 ,categoria1,estado1);
ELSE
clave2:=md5(clave1);
UPDATE empleado SET codigo=codigo1,paterno=paterno1,materno=materno1,n ombre=nombre1,usuario=usuario1,clave=clave2,catego ria=categoria1,estado=estado1 WHERE usuario=usuario1;
END IF;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION abmusuarios(tipo1 smallint,codigo1 character,paterno1 "character varying",materno1 "character varying",nombre1 "character varying",usuario1 "character varying",clave1 "character varying",categoria1 smallint,estado1 character,clave2 "character varying") OWNER TO postgres;

y para ejecutar la funcion:

select abmusuarios(1,'cod1','pat1','mat1','nom1','user1', 'cla1',1,'est1','cla2');

Y listo asi te debe funcionar.

Espero te funcione.
  #3 (permalink)  
Antiguo 12/04/2007, 10:01
 
Fecha de Ingreso: abril-2007
Mensajes: 27
Antigüedad: 17 años
Puntos: 0
Re: como pasar parametros cuando quiero ejecutar una funcion

Claro que si me funciono muchas gracias es bueno encontrar personas que te colaboran ........
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:34.