
procedimiento almacenado Error
Publicado por Iván (1 intervención) el 18/10/2016 16:21:38
Saludos a la comunidad,
Estoy practicando con los procedimientos almacenados y tengo el siguiente código
pero me sale el siguiente error
y como se puede ver en la img que adjunto, los dos campos en cuestión son del mismo TIPO...


¿Qué es lo que debo hacer mal?
Gracias de antemano, cualquier comentario es aceptado ;)
Estoy practicando con los procedimientos almacenados y tengo el siguiente código
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CREATE OR REPLACE FUNCTION SP_DamePaises
( IN PV_OPCION VARCHAR(10) default 'DAMETODOS',
OUT columna1 bigint,
OUT columna2 character(50)
) RETURNS setof record AS
$BODY$
begin
IF PV_OPCION = 'DAMETODOS' THEN
return query select pais_id, pais_nombre from pais;
END IF;
IF PV_OPCION = 'DAMEDOS' THEN
return query select pais_id, pais_nombre from pais limit 2;
END IF;
return;
end;
$BODY$
LANGUAGE 'plpgsql';
SELECT * FROM SP_DamePaises('DAMETODOS');
pero me sale el siguiente error
1
2
3
4
5
6
7
8
9
ERROR: structure of query does not match function result type
DETAIL: Returned type integer does not match expected type bigint in column 1.
CONTEXT: PL/pgSQL function sp_damepaises31(character varying) line 4 at RETURN QUERY
********** Error **********
ERROR: structure of query does not match function result type
SQL state: 42804
Detail: Returned type integer does not match expected type bigint in column 1.
Context: PL/pgSQL function sp_damepaises31(character varying) line 4 at RETURN QUERY
y como se puede ver en la img que adjunto, los dos campos en cuestión son del mismo TIPO...

¿Qué es lo que debo hacer mal?
Gracias de antemano, cualquier comentario es aceptado ;)
Valora esta pregunta


0