Re: Función para un disparador (control del campo serial)

From: juan <juanramirez(at)cajazacate(dot)com(dot)sv>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Función para un disparador (control del campo serial)
Date: 2010-03-17 20:15:21
Message-ID: 4BA13859.30007@cajazacate.com.sv
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro Herrera escribió:
> 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.
>

No se si probaste con lo que te dije y si te sirvió?

Supongo que tienes en el campo serial el valor 'default' como el
siguiente valor de la secuencia.

Deberías de lograr lo que esperas si quitas ese valor default; y lo
asignas hasta que todo tu trigger valide el registro ingresado.

--
Cordialmente,
Juan Ramírez
El Salvador

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ing. Marcos Ortiz Valmaseda 2010-03-17 20:19:59 Re: libpcp.so en opensuse para pgool
Previous Message Miguel Angel Hernandez Moreno 2010-03-17 20:14:21 Re: libpcp.so en opensuse para pgool