Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/08/2012, 09:33
jorgeliche
 
Fecha de Ingreso: julio-2012
Ubicación: Bogota
Mensajes: 7
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Procedimiento Almacenado (Funcion)

Hola Huesos de nuevo muchas gracias por tu respuesta, pues me funciono bastante ese tema, y llegue hasta este codigo ,

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION terceros_id(id INTEGER) RETURNS SETOF tbl_terceros AS $$
  2. DECLARE
  3.     datos tbl_terceros%rowtype;
  4.     SQL TEXT := 'SELECT  * FROM tbl_terceros';
  5.     sqlId TEXT;
  6. BEGIN
  7.     IF ( id IS NOT NULL ) THEN
  8.         SQL = SQL || ' WHERE idtercero=$1';
  9.     END IF;
  10.     FOR datos IN EXECUTE SQL USING id LOOP
  11.                RETURN NEXT datos;
  12.     END LOOP;
  13.     RETURN;
  14. END
  15. $$ LANGUAGE plpgsql VOLATILE;


Y todo muy bien Pero , Cuando cambie el select * por un select nombre , apellido y lo ejecuto
me sale el siguiente error


ERROR: la sintaxis de entrada no es válida para el tipo numeric: «LILIANA»
CONTEXT: PL/pgSQL function "terceros_id" line 9 at bucle FOR en torno a una sentencia EXECUTE

y pues llego un buen rato y no he podido pasar de esto

Es posible que me puedas ayudar?