Re: Algún manual de pl/pgsql

From: Pablo Braulio <brulics(at)gmail(dot)com>
To: PRiNCiPiTo <el-PRiNCiPiTo(at)terra(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Algún manual de pl/pgsql
Date: 2008-05-08 09:57:06
Message-ID: 4822CE72.5080701@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

PRiNCiPiTo escribió:
> Hola a todos,
> he conseguido hacer mi primer trigger, con la ayuda de la lista, y ahora
> estoy intentando documentarme sobre el lenguaje pl/pgsql para lograr que
> la función haga lo que necesito.
> Concretamente lo que quiero hacer es que extraiga de un campo date los
> dos últimos dígitos del año y luego concatenarlo con otros e insertarlo
> en otro campo.
>
> Ahora mismo tengo esto:
>
> CREATE OR REPLACE FUNCTION codigo_barras()
> RETURNS "trigger" AS
> $BODY$BEGIN
> new.codigobarras := '08'||( new.idformato * 10^9)+( new.idmarca *
> 10^7)+ new.idproducto::integer;
> return new;
> END;
> $BODY$
> LANGUAGE 'plpgsql' VOLATILE;
> ALTER FUNCTION codigo_barras() OWNER TO postgres;
>
>
> Entonces lo que quiero hacer es que el 08 lo extraiga del campo
> fechaproduccion (2008-05-09)
> No se si plpgsql soporta legth o comandos como tail de unix o si para
> poder sacar esos dos caracteres tendré que hacerlo con un puntero o lo
> que sea..
>
> Si alguien me puede orientar con este tema en concreto o informarme
> sobre donde buscar un buen manual de plpgsql se lo agradecería mucho.
>
> Un saludo a todos

Puedes formatear la salida. Fijate:

# SELECT current_date;
date
- ------------
2008-05-08
(1 fila)

# SELECT to_char(current_date, 'yy');
to_char
- ---------
08
(1 fila)

Substituyes current_date por el campo de la tabla y listo.

Espero que te sirva. :-D

- --

< ¡¡Nos vemos!! >
----------------------------
\
\
.::!!!!!!!:.
.!!!!!:. .:!!!!!!!!!!!!
~~~~!!!!!!. .:!!!!!!!!!UWWW$$$
:$$NWX!!: .:!!!!!!XUWW$$$$$$$$$P
$$$$$##WX!: .<!!!!UW$$$$" $$$$$$$$#
$$$$$ $$$UX :!!UW$$$$$$$$$ 4$$$$$*
^$$$B $$$$\ $$$$$$$$$$$$ d$$R"
"*$bd$$$$ '*$$$$$$$$$$$o+#"
"""" """""""
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIIs5yK7lGsMchFswRAtVbAJ0TyhQrFEVc2EF0XgJtd1/APcryDgCfUiF6
OmqtaGWYWMDyp8Yi7zPKwfg=
=AsZS
-----END PGP SIGNATURE-----

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Manuel Fernandez 2008-05-08 10:45:08 Re: Instalar PG
Previous Message PRiNCiPiTo 2008-05-08 09:49:49 Algún manual de pl/pgsql