Indices - Contadores

08/09/2003 - 10:16 por Daniel Álvarez | Informe spam
Hola,

Hasta ahora en mis tablas habia definido siempre un campo como clave
principal para que me hiciera un autonumerico simple. Ahora se me plantea
que tengo dos campos el Campo CodigoPrincial Y CodigoSecundario, el
CodigoPrincial puede repetirse y el CodigoSecundario deberia de ser un
autonumerico pero que depende del CodigoPrincipal para volver a incializarse
a 1

Lo entendereís con este ejemplo:

CodigoPrincipal CodigoSecundario
-
1 1
1 2
1 3
2 1 (Al cambiar el codigo principal el
codigosecundario vuelve a inicializarse)
2 2
3 1

Y asi sucesivamente.

Bueno el caso es que no se como hacer esto para que la tabla se comporte
así automaticamente. ¿se puede hacer?. supongo que sí pero no doy con la
manera por que nunca consigo que el autonumerico se ponga a valor 1 segun
el valor del otro campo, sino que va sumando y sumando.

Gracias por vuestra atención.



Daniel Álvarez

Por favor, deja todos tus mensajes en
el foro, no uses el correo electrónico.

Si quieres contactar, no olvides quitar NOSPAM
 

Leer las respuestas

#1 Mariano Alvarez
08/09/2003 - 17:41 | Informe spam
No conozco otra manera de resolverlo mas que con triggers y esto te obliga a
que tengas definidos los campos como que aceptan valores nulos en ambas
columnas. Sin embargo eso te impediria definir una clave primaria sobre esos
campos.

Yo te sugeriria que veas si puedes utilizar procedimientos almacenados o en
su defecto funciones. Debes cuidar que no se te produzcan condiciones de
carrera bloqueando la tabla si primero haces un SELECT para determinar el
numero siguiente antes de hacer el INSERT..

Jose Mariano Alvarez
Comunidad de base de datos
Grupo de Usuarios Microsoft
www.mug.org.ar



"Daniel Álvarez" wrote in message
news:
Hola,

Hasta ahora en mis tablas habia definido siempre un campo como clave
principal para que me hiciera un autonumerico simple. Ahora se me plantea
que tengo dos campos el Campo CodigoPrincial Y CodigoSecundario, el
CodigoPrincial puede repetirse y el CodigoSecundario deberia de ser un
autonumerico pero que depende del CodigoPrincipal para volver a


incializarse
a 1

Lo entendereís con este ejemplo:

CodigoPrincipal CodigoSecundario
-
1 1
1 2
1 3
2 1 (Al cambiar el codigo principal el
codigosecundario vuelve a inicializarse)
2 2
3 1

Y asi sucesivamente.

Bueno el caso es que no se como hacer esto para que la tabla se


comporte
así automaticamente. ¿se puede hacer?. supongo que sí pero no doy con la
manera por que nunca consigo que el autonumerico se ponga a valor 1 segun
el valor del otro campo, sino que va sumando y sumando.

Gracias por vuestra atención.



Daniel Álvarez

Por favor, deja todos tus mensajes en
el foro, no uses el correo electrónico.

Si quieres contactar, no olvides quitar NOSPAM




Preguntas similares