Re: Duda sobre Función

From: "La Pasion Del Rio" <lapasiondelrio(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Duda sobre Función
Date: 2006-06-02 12:31:17
Message-ID: db7066b90606020531y32612443lb8ef89dd5bfc70d0@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Vale, ya vi el error, no tenía instalado el plpgsql en mi base de datos con
lo cual el LANGUAGE SQL estaba mal, además los $$ sobraban con las comillas
simples es suficiente.

Ya tengo mi función aunque no he podido crear la función del manual:

CREATE FUNCTION plpgsql_validator(oid) RETURNS void AS
'$libdir/plpgsql' LANGUAGE C;

El error "ERROR: no se encuentra la función "plpgsql_validator" en el
archivo "/usr/lib/pgsql/plpgsql.so" " ¿Alguna idea para poder crearla?

¿Esto debo hacerlo en todas las bases de datos donde quiera crear funciones
o lo tengo que hacer solo en templates1 y valdría para el resto?

Y ya de paso (aunque eso aun no lo he mirado muy bien) ¿Cómo se ejecuta esta
función, "select * from totales(2)"?

Muchas Gracias.

2006/6/2, La Pasion Del Rio <lapasiondelrio(at)gmail(dot)com>:
>
> Estoy probando con las funciones y no tengo claro una cosita, he estado
> mirando en google y en el manual de postgres y no logro dar con el problema.
> En la función lo único que quiero es recorrer la tabla y obtener la suma de
> unos registros. La función es la siguiente:
> CREATE FUNCTION totales(integer) RETURNS real AS $$'
> DECLARE
> total real;
> reg RECORD;
> banco ALIAS FOR $1;
> BEGIN SELECT INTO reg * FROM segsoc WHERE codbanco=banco;
> IF reg.empresa IS NULL THEN
> RETURN 0;
> ELSE total:=0;
> FOR reg IN SELECT * FROM segsoc WHERE codbanco=banco ORDER BY empresa
> LOOP
> total:=reg.importe+total;
> END LOOP;
> RETURN total;
> END IF;END;
> $$'
> LANGUAGE 'SQL';
>
> Y me suelta el error siguiente al ejecutar el pg_query de php "Query
> failed: ERROR: syntax error en o cerca de "$" at character 50"
>
> Si me pudieran decir que significa ese $$, es que no tengo claro su uso,
> hay funciones en los ejemplos que he visto que lo ponen y en otra no, y
> estoy un poco liado. Si quito el $$ me da problema en "real". ¿Alguna idea?
>
> Muchísimas Gracias a todos-as
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Haroldo Stenger 2006-06-02 12:31:45 Re: Duda sobre Función
Previous Message Javier Estévez CIFA Córdoba 2006-06-02 12:28:07 Conectar PHP con PostgreSQL