Ver Mensaje Individual
  #10 (permalink)  
Antiguo 04/12/2009, 05:06
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ejercicio de mysql

- Verifica que la tabla EQUIPOCOMPUTO tenga un campo denominado `CodigoUbicacion`.
- Si lo tiene, probemos suprimir los alias que no se necesitan:
Código sql:
Ver original
  1. CREATE DEFINER=`root`@`localhost` PROCEDURE `Sp_ReUbicar`
  2.   (IN xCodigoEquipoComputo VARCHAR(10),
  3.   IN xCodigoUbicacion VARCHAR(8))
  4. BEGIN
  5.   DECLARE ubicacionAnterior VARCHAR(8);
  6.   SET ubicacionAnterior = (SELECT CodigoUbiacion
  7.                            FROM EquipoComputo
  8.                            WHERE CodigoEquipoComputo=xCodigoEquipoComputo);
  9.   IF(SELECT estado FROM EquipoComputo WHERE CodigoEquipoComputo = xCodigoEquipoComputo) <> 2) THEN
  10.     UPDATE EquipoComputo
  11.       SET
  12.           CodigoUbicacion = xCodigoUbicacion,
  13.           Observacion = ubicacionAnterior
  14.     WHERE CodigoEquipoComputo = xCodigoEquipoComputo;
  15.   END IF;
  16. END

Además, ten en cuenta que en MySQL se debe indicar si los parámetros de un SP son de entrada (IN), salida (OUT) o entrada-salida (INOUT). Si no los pones, solamente serán IN.
Yo sugiero ponerlo aunque sea redundante para evitar confusiones y ceñirse mejor al estándar de sintaxis.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)