Consulta muuuy dificil: ¿alguien se atreve?
Publicado por Sergio (2 intervenciones) el 15/06/2005 18:32:55
Hola a todos!!,
Tengo que conseguir realizar una consulta en SQL Server bastante dificil y hasta ahora no lo he conseguido.
Objetivo:
Dada una cadena que indica quien va a servir una orden , llamémosla 'clerk', hay que localizar la orden más antigua (a través del campo TimePlaced) de la tabla Orders y actualizar el campo ServedBy con dicha cadena.
Tabla Orders:
OrderId : varchar
....
TimePlaced: datetime
ServedBy : varchar
RESTRICCIÓN MUY IMPORTANTE: Por asuntos de concurrencia es necesario realizar dicha consulta de forma atómica, es decir, usando una única consulta del tipo
select .... into
Habrá que usar una tabla auxiliar , llamémosla 'Served', con lo que la cosa queda así:
Tabla Orders:
OrderId : varchar
....
TimePlaced: datetime
ServedBy : varchar
Tabla Served
OrderId: varchar
ServedBy:varchar
OBJETIVO FINAL: Buscar la orden más antigua de la tabla Orders tal que su OrderId no se encuentre en la tabla Served, e insertar dicho OrderId en la tabla Served de forma atómica.
¿Alguien se atreve?
Muchas gracias por adelantado!!
Tengo que conseguir realizar una consulta en SQL Server bastante dificil y hasta ahora no lo he conseguido.
Objetivo:
Dada una cadena que indica quien va a servir una orden , llamémosla 'clerk', hay que localizar la orden más antigua (a través del campo TimePlaced) de la tabla Orders y actualizar el campo ServedBy con dicha cadena.
Tabla Orders:
OrderId : varchar
....
TimePlaced: datetime
ServedBy : varchar
RESTRICCIÓN MUY IMPORTANTE: Por asuntos de concurrencia es necesario realizar dicha consulta de forma atómica, es decir, usando una única consulta del tipo
select .... into
Habrá que usar una tabla auxiliar , llamémosla 'Served', con lo que la cosa queda así:
Tabla Orders:
OrderId : varchar
....
TimePlaced: datetime
ServedBy : varchar
Tabla Served
OrderId: varchar
ServedBy:varchar
OBJETIVO FINAL: Buscar la orden más antigua de la tabla Orders tal que su OrderId no se encuentre en la tabla Served, e insertar dicho OrderId en la tabla Served de forma atómica.
¿Alguien se atreve?
Muchas gracias por adelantado!!
Valora esta pregunta


0