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 <[email protected]>
    *Para:* Alejandro Carrillo <[email protected]>
    *CC:* Ayuda <[email protected]>
    *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 <[email protected]
    <mailto:[email protected]>>



Responder a