Copia, te puedo decir que el procedimiento funciona porque ayer me puse a probarlo por curiosidad. Fíjate bien a ver si el codigoEquipoComputo 4 tiene un estado = 2 ???.
De todas formas de dejo el código que me funciona:
Código:
CREATE PROCEDURE Sp_ReUbicar(IN xCodigoEquipoComputo VARCHAR(10), IN xCodigoUbicacion VARCHAR(8))
BEGIN
DECLARE ubicacionAnterior VARCHAR(8);
SET ubicacionAnterior = (SELECT CodigoUbicacion
FROM EquipoComputo
WHERE(CodigoEquipoComputo=xCodigoEquipoComputo));
IF ((SELECT estado FROM EquipoComputo
WHERE (CodigoEquipoComputo=xCodigoEquipoComputo)) <> 2) THEN
UPDATE EquipoComputo SET CodigoUbicacion=xCodigoUbicacion,
Observacion=ubicacionAnterior
WHERE CodigoEquipoComputo=xCodigoEquipoComputo;
END IF;
END