Bueno.
Siguiendo un comentario que por aquí he leido un par de veces ("todos los
cursores se pueden sustituir por consultas") y que por ahora he podido
constatar, me encuentro con uno que no consigo eliminar. Tal vez no se
pueda:
Tengo una tabla con acomodaciones
aco char(3) -- Acomodación.
numero tinyint -- Nº de la acomodación.
vacio tinyint -- Indica si está vacio (1) o no (0).
libres tinyint -- Indica el nº de plazas libres.
resevado tinyint -- Indica si se ha reservado la acomodación entera (1) o no
(0).
C2 nº1, 1, 2, 0
C2 nº2, 0, 1, 1
C2 nº3, 0, 1,0
C2 nº4, 1, 2, 0
B1 nº1, 1, 1, 0
Supongamos que tenemos los siguientes pasajeros:
A, en Camarote C2 (dos literas) para él solito.
B, en litera C2 (dos literas)
C, en litera C2 (dos literas)
D, en litera C2 (dos literas)
E, en butaca B1.
A tendría que ir en el C2 nº1 (una acomodación vacia, pues la quiere para él
solito).
B tendría que ir en el C2 nº3 (en el nº2 no puede pues aunque hay plazas
(1), está reservado como "completo"),
C tendría que ir en el C2 nº2 (hay una plaza libre y no está marcada como
"completa").
D tendría que ir en el C2 nº4 (está vacia).
E en la butaca nº1.
Cada vez que se asigna un camarote a un pasajero, cambia el estado, por lo
que ahora mismo utilizo un cursor.
Si a alguien se le ocurre cómo evitarlo, le invito a una cervecita.
Muchas gracias.
Leer las respuestas