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 13:24:53 |
Message-ID: | db7066b90606020624x21fcf1b4s7360504ceede987c@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Bueno, ya me di cuenta, la versión, tengo 7.4 y lo miré para 8.1. Ya está
todo corriendo ok.
La duda que todavía sigo teniendo es si se puede tener este lenguaje
disponible para todas las bases de datos o se debe crear la función
"plpgsql_call_handler()" para cada base de datos donde se use.
Muchas Gracias.
PD. Vamos a ver si con un poco de tiempo puedo poner lo que aprendo de
postgres en mi página www.hermas.tk
2006/6/2, La Pasion Del Rio <lapasiondelrio(at)gmail(dot)com>:
>
> 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
> >
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Rolando Enrique Canales Suarez | 2006-06-02 13:57:37 | Consulta sobre los fuentes de Postgresql 8.1 para Sarge |
Previous Message | ROBERTO FARIAS | 2006-06-02 13:23:02 | unsuscribe |