From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Joac <jgarcil(at)hotmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Función para un disparador (control del campo serial) |
Date: | 2010-03-17 19:10:29 |
Message-ID: | 20100317191029.GB3902@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Joac escribió:
>
> Buenas a todos,
>
> En el e-mail que envie sobre el problema que tenía con la modificación del campo serial cuando daba un error, he modificado la función pero sale un mensaje de error pero el indice del campo serial lo modifica correctamente, pero el error que sale es el siguiente: la consulta no tiene un destino para los datos de resultado. Si se quiere descartar los resultados de una select, utilice PERFORM y me indica la línea donde está ubicada la consulta que es un SELECT last_value INTO ultimo FROM salida_salcod_seq; Como ya he utilizado el SELECT INTO pero desde una tabla que controlaba un contador y no me dá problemas tendré que obtar por crear una tabla que lleve el contador por no utilizar los OID's.
No debes hacer esta clase de juegos con las secuencias, porque violas el
principio que les permite funcionar concurrentemente. Si realmente
necesitas un contador que no avance en ciertos casos, deberías bloquear la
tabla (lock table) y conseguir el valor máximo insertado.
--
Alvaro Herrera Developer, http://www.PostgreSQL.org/
"Digital and video cameras have this adjustment and film cameras don't for the
same reason dogs and cats lick themselves: because they can." (Ken Rockwell)
From | Date | Subject | |
---|---|---|---|
Next Message | Miguel Angel Hernandez Moreno | 2010-03-17 19:45:40 | libpcp.so en opensuse para pgool |
Previous Message | Mariano Reingart | 2010-03-17 19:09:06 | Re: [pgsql-es-ayuda] [OT] Fecha definitivas JSRL2010 |