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

Ayuda para ejecutar funcion

Estas en el tema de Ayuda para ejecutar funcion en el foro de PostgreSQL en Foros del Web. Hola amigos he realizado la siguiente función en postgreSql: CREATE OR REPLACE FUNCTION "obtenerContrato"() RETURNS smallint AS $BODY$DECLARE contrato smallint; BEGIN SELECT (MAX(sec_con_clte)+1) INTO contrato ...
  #1 (permalink)  
Antiguo 14/08/2009, 15:08
 
Fecha de Ingreso: agosto-2009
Mensajes: 25
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Ayuda para ejecutar funcion

Hola amigos he realizado la siguiente función en postgreSql:

CREATE OR REPLACE FUNCTION "obtenerContrato"()
RETURNS smallint AS
$BODY$DECLARE
contrato smallint;
BEGIN
SELECT (MAX(sec_con_clte)+1) INTO contrato FROM cliente WHERE est_clte='V';
RETURN contrato;
EXCEPTION
WHEN NO_DATA_FOUND THEN
return 1;
END;$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION "obtenerContrato"() OWNER TO postgres;

El select lo he probado individualmente y funciona. Pero no se como ejecutar esta función ya que al intentar ejecutarla de la siguiente manera SELECT * FROM obtenerContrato(); me sale error.
Como se ejecuta una función que devuelve un valor?
  #2 (permalink)  
Antiguo 14/08/2009, 15:16
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Ayuda para ejecutar funcion

select obtenercontrato();

Una función se llama con *from cuando se retornan varios registros por medio de setof

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 14/08/2009, 16:54
 
Fecha de Ingreso: agosto-2009
Mensajes: 25
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Ayuda para ejecutar funcion

Cita:
Iniciado por huesos52 Ver Mensaje
select obtenercontrato();

Una función se llama con *from cuando se retornan varios registros por medio de setof

saludos

Ya probe con SELECT obtenerContrato(); igual no funciona.
  #4 (permalink)  
Antiguo 14/08/2009, 17:45
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 6 meses
Puntos: 43
Respuesta: Ayuda para ejecutar funcion

Podrias mostrarnos el error que te muestra?, para ir al punto de tu problema.
  #5 (permalink)  
Antiguo 14/08/2009, 20:34
 
Fecha de Ingreso: agosto-2009
Mensajes: 25
Antigüedad: 15 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Ayuda para ejecutar funcion

YA HE RESUELTO EL PROBLEMA,
ESTO SE DABA YA QUE ESTABA CREANDO LA FUNCION CON COMILLAS PERO LA HE VUELTO A CREAR SIN COMILLAS Y AHORA SI CUANDO ESCRIBO

SELECT obtenerContrato();

SE EJECUTA TODO BIEN....
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 06:39.