| From: | mmiranda(at)americatel(dot)com(dot)sv |
|---|---|
| To: | alvherre(at)surnet(dot)cl, mmiranda(at)americatel(dot)com(dot)sv |
| Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
| Subject: | RE: Secuencias (Consulta) II |
| Date: | 2005-05-11 21:17:05 |
| Message-ID: | 76E0DAA32C39D711B6EC0002B364A6FA044EC29D@amsal01exc01.americatel.com.sv |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
Alvaro Herrera wrote:
> On Wed, May 11, 2005 at 11:52:04AM -0600, mmiranda(at)americatel(dot)com(dot)sv
> wrote:
>> Hola, aprovechando que se esta tocando el tema, como puedo hacer
>> varias secuencias en una mismo columna?, mejor dicho una secuencia
>> que dependa de otra columna de la tabla, por ejemplo la tabla tiene
>> la siguiente estructura
>>
>>
>> clientes (
>> id serial,
>> pais varchar,
>> cliente varchar)
>>
>> El id es el identificador unico de ese cada cliente, pero quiero que
>> sea una secuencua diferente atada a cada pais, o sea que habra id de
>> cliente 15, 20, 5000, etc en cada pais.
>>
>> Es posible?
>
> Es posible, pero ya no puedes usar una secuencia comun y corriente.
> Sospecho que tendrias que usar un trigger BEFORE INSERT para modificar
> el id durante la insercion.
>
> En todo caso no si es buena idea dejar que los IDs se traslapen ...
Podria crear una tabla que relacione pais -> id , verificar en el trigger
cual es el ultimo id generado por pais y asignarselo al registro que estoy
insertando, me parece buena idea.
aunque tendria repetido el id en dos tablas diferentes.. ummm
---
Miguel
| From | Date | Subject | |
|---|---|---|---|
| Next Message | mmiranda | 2005-05-11 21:19:33 | RE: Secuencias (Consulta) II |
| Previous Message | Alvaro Herrera | 2005-05-11 20:59:16 | Re: Ayuda con rendimiento en la DB......... |