From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Juan Pablo Cook <juampick(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Duda con modelado de Datos + Crear Función |
Date: | 2009-06-22 16:45:40 |
Message-ID: | 20090622164540.GA6493@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Juan Pablo Cook escribió:
> La consulta era acerca del modelado, y también de que necesitaría crear una
> función, lanzada por un trigger algo asi...
>
> CREATE TRIGGER trg_rubroAccesorio_ins BEFORE INSERT ON rubro
>
> que me devuelva el siguiente número (último codigoAccesorio + 1), depende
> del rubro que elija, para continuar con la numeración. (No me serviría el
> tipo serial, porque hasta mis pruebas, es para una tabla entera, y yo
> necesitaría un serial por cada tupla de Rubros).
Supongo que podrías crear una tabla que tuviera los posibles prefijos
(BILL, LLAV, etc) y la secuencia (CREATE SEQUENCE) para cada uno. (El
problema obvio es que cada vez que ingresas un nuevo tipo de artículo
tienes que aplicar DML para crear la secuencia necesaria).
Otra idea sería almacenar el último valor para cada prefijo en lugar de
una secuencia, pero para hacerlo funcionar bien tendrías que tener
bloqueada esa tabla por toda la duración de la transacción que inserta.
Este modelamiento me parece poco feliz en todo caso, porque como ves
complica las cosas. Me imagino que se trata de algo para un curso de
bases de datos, porque es típico que ponen estos requerimientos que son
algo absurdos ...
--
Alvaro Herrera Valdivia, Chile ICBM: S 39º 48' 55.3", W 73º 15' 24.7"
"El día que dejes de cambiar dejarás de vivir"
From | Date | Subject | |
---|---|---|---|
Next Message | Jose Vasquez | 2009-06-22 17:17:48 | Re: Sobre los TableSpaces |
Previous Message | Virginia | 2009-06-22 16:43:12 | Re: ayuda con trigger |