problema con actualizacion en procedimiento

04/03/2008 - 18:47 por warface75 | Informe spam
Tengo un procedimiento que realiza una actualizacion de una tabla realizando
una comparacion con 3 campos y asi realizar la actualizacion de dos diferentes
el problema es que al tener dos registros similares y solo diferente en uno
de ellos afecta a los dos
por ejemplo
prodID IDCART LADO CANTIDAD
ACC125 2778545 DER 25
ACC125 2778545 IZQ 10

y modifico el que dice izq con cantidad de 30 , me afecta al que tiene lado
"DER" y me pone ambos con cantidad de 25 lado "DER"

el procedimiento esta como sigue:

@IdCart nvarchar(50),
@ProdID nvarchar(20),
@Lado nvarchar(12),
@Cantidad int
)
AS

UPDATE OrdenSecuencial

SET
Lado = @Lado,
Cantidad = @Cantidad


WHERE
IdCart = @IdCart
AND
ProdID = @ProdID
and
Lado=@Lado or Lado='-'

Preguntas similare

Leer las respuestas

#1 Isaias
04/03/2008 - 18:53 | Informe spam
Que significa Lado='-' ?

Si lo intentas asi:

WHERE ( IdCart = @IdCart AND ProdID = @ProdID)
AND Lado=@Lado

Saludos
IIslas


"warface75" wrote:

Mostrar la cita
#2 warface75
04/03/2008 - 19:34 | Informe spam
Hola Isaias
muchas gracias por responder
no me funciono ninguno de los siguientes

WHERE ( IdCart = @IdCart AND ProdID = @ProdID)
AND Lado=@Lado or Lado='-'

WHERE ( IdCart = @IdCart AND ProdID = @ProdID)
AND (Lado=@Lado or Lado='-')

WHERE IdCart = @IdCart AND ProdID = @ProdID
Mostrar la cita
el poner '-' es un caracter por ser cualquiera en realidad lo que coloca es
una X
no le afecta en la consulta



"Isaias" wrote:

Mostrar la cita
#3 Alejandro Mesa
04/03/2008 - 19:47 | Informe spam
warface75,

La condición debe ser:

UPDATE
dbo.OrdenSecuencial
SET
Cantidad = @Cantidad
WHERE
IdCart = @IdCart
AND ProdID = @ProdID
AND Lado=@Lado

No tienes porque actualizar la columna [Lado] que esta se supone que sea
igual al valor de el parametro.

Si todavia sigue cambiando los valores, entonces chequea si la tabla tiene
un trigger asociado a la accion.


AMB

"warface75" wrote:

Mostrar la cita
#4 warface75
04/03/2008 - 19:59 | Informe spam
Hola Alejandro, el campo LAdo tambien tiende a ser actualizado ya que este es
modificado por el usuario, de inicio el valor es ´X´ pero el usuario tiene
que modificarlo a izq o der. por eso es importante que sea cambiado


"Alejandro Mesa" wrote:

Mostrar la cita
Ads by Google
Search Busqueda sugerida