Rv: recorrer old

From: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
To: "alvherre(at)alvh(dot)no-ip(dot)org" <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Rv: recorrer old
Date: 2011-11-15 16:14:04
Message-ID: 1321373644.60638.YahooMailNeo@web27403.mail.ukl.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El objetivo de esto es que se pueda hacer select sobre la tabla borradoscopia de tal forma que se pueda recuperar uno u varios registros, dependiendo del criterio de busqueda

----- Mensaje reenviado -----
>De: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
>Para: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
>CC: "alvherre(at)alvh(dot)no-ip(dot)org" <alvherre(at)alvh(dot)no-ip(dot)org>
>Enviado: martes 15 de noviembre de 2011 10:56
>Asunto: Re: [pgsql-es-ayuda] recorrer old
>
>
>Siguiendo con el tema, tengo un problema ya que al grabar en la tabla borradoscopia los campos y sus valores, no los graba en el orden de creación de los campos en la tabla, sino en el orden que le da la gana. Esto es debido a la función hstore que ejecuta ese trabajo de esa forma. ¿Como podría cambiar este orden (usando alguna funcion de hstore) de tal forma que aparezcan ordenados usando el orden de creación en la tabla de la BD?
>
>
>Gracias
>
>
>Anexo function actual
>
>
>
>/* esta funcion va asociada a todos los triggers de cada tabla donde se deseé el borrado fisico con copia*/
>create or replace function public.fn_borradocopia () returns trigger
>as
>$$
>declare
>    arrDatos bytea[];
>   
arrCampos bytea[];
>    i integer := 1;
>    r record;
>begin   
>    FOR r IN SELECT (each(hstore(OLD))).*
>    LOOP
>        arrCampos[i] := r.key;
>        arrDatos[i] := r.value;
>        --RAISE NOTICE 'key:%, value: %', r.key, r.value;
>        i=i+1;
>    END LOOP;
>    insert into borradoscopia values (TG_RELNAME,arrCampos,arrDatos);
>    return OLD;
>end;
>$$
>LANGUAGE plpgsql VOLATILE
>  COST 100;
>
>--aca van cada trigger para cada tabla
>drop TRIGGER trg_borradocopia on clientesborradocopia;
>CREATE TRIGGER trg_borradocopia BEFORE DELETE ON clientesborradocopia
>    FOR EACH ROW EXECUTE PROCEDURE  fn_borradocopia () ; 
>
>DELETE from clientesborradocopia where idcliente = 1
>
>
>
>>________________________________
>>De: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
>>Para: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
>>CC: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
>>Enviado: martes 8 de noviembre de 2011 14:51
>>Asunto: Re: [pgsql-es-ayuda] recorrer old
>>
>>
>>jajajaj muy chistoso. ¿O es que en postgresql no soporta arrays multidimensionales en una funcion?
>>
>>
>>
>>
>>>________________________________
>>>De: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
>>>Para: Alejandro Carrillo <fasterzip(at)yahoo(dot)es>
>>>CC: Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
>>>Enviado: martes 8 de noviembre de 2011 14:47
>>>Asunto: Re: [pgsql-es-ayuda] recorrer old
>>>
>>>
>>>Excerpts from Alejandro Carrillo's message of mar nov 08 15:47:43 -0300 2011:
>>>> porq la tabla solo tiene 2 campos:
>>>>
>>>> drop TABLE borradoscopia;
>>>>
>>>> CREATE TABLE borradoscopia
>>>> (
>>>>   tabla character varying(80) NOT NULL,
>>>>   registro bytea[][] NOT NULL
>>>> );
>>>
>>>entonces borrala y hazla de nuevo.
>>>
>>>--
>>>Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
>>>
>>>
>>>
>>
>>
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Hellmuth Vargas 2011-11-15 16:24:26 Re: [pgsql-es-ayuda] conocer el tamaño (en bytes) del resultado de una consulta
Previous Message Alejandro Soto De las Cuevas 2011-11-15 16:06:14 COMANDOS PARA REVISAR ESTATUS Y PERFORMANCE DEL MOTOR POSTGRESQL