[Pgsql-ayuda] Llamar una funcion

Alvaro Herrera alvherre@dcc.uchile.cl
Thu, 31 Jul 2003 23:15:38 -0400


On Thu, Jul 31, 2003 at 01:30:07PM -0400, Sergio Valdes wrote:

Sergio,

 CREATE FUNCTION "func01" (date)
         RETURNS setof record AS
        'select * from ventas where fecha_venta >= $1'
  LANGUAGE "sql";

> Mis dudas son las siguientes:
> Esta bien que el tipo de datos del RETURNS sea record?

No, probablemente debe ser SETOF RECORD.  Lo otro también funciona pero
retorna una cosa distinta (sólo una tupla, y probablemente quieres
varias).

> Como puedo llamar esta función desde Php 4.3.2?

Como desde cualquier otro sitio:

select * from func01('2003-02-01') as foo(a date);

donde la parte (a date) debe coincidir con la definición de la tabla
ventas.  En mi caso, 

alvh=> \d ventas
     Table "public.ventas"
   Column    | Type | Modifiers
 ------------+------+-----------
 fecha_venta | date |

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Escucha y olvidarás; ve y recordarás; haz y entenderás" (Confucio)