El 04/11/11 11:46, Alejandro Carrillo escribió:
y de ahi como la paso a array?? con select array((each(hstore(clientesborradocopia))).value) from clientesborradocopia where idcliente = 4
no me deja
Lee http://okbob.blogspot.com/2009/10/dynamic-access-to-record-fields-in.html

Lo interesante para vos es:

FOR r IN SELECT (each(hstore(NEW))).*
  LOOP
    RAISE NOTICE 'key:%, value: %', r.key, r.value;
  END LOOP;

O sea que ahi tenes lo que precisas para leer NEW y OLD

Espero que te sirva

Saludos

Rodrigo




    ------------------------------------------------------------------------
    *De:* Alvaro Herrera <alvhe...@alvh.no-ip.org>
    *Para:* Alejandro Carrillo <faster...@yahoo.es>
    *CC:* Ayuda <pgsql-es-ayuda@postgresql.org>
    *Enviado:* viernes 4 de noviembre de 2011 9:30
    *Asunto:* Re: [pgsql-es-ayuda] recorrer old


    Excerpts from Alejandro Carrillo's message of jue nov 03 15:43:29
    -0300 2011:
    > Buenas tardes,
    >
    > Conocen como copiar los datos del registro OLD, en los triggers
    de plpgsql, de la siguiente forma (o con alguna otra forma):
    >
    > arrDatos bytea[];
    >
    > for (e=0;e<=OLD.numcampos;e++){
    >     arrDatos[e]=old[e]::bytea;
    > }

    QUizas podrias usar hstore; tiene una funcion que convierte un record
    en un hstore si mal no recuerdo.

-- Álvaro Herrera <alvhe...@alvh.no-ip.org
    <mailto:alvhe...@alvh.no-ip.org>>



Reply via email to