Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Problema con Parametros de Salida en Stored Procedure

Estas en el tema de Problema con Parametros de Salida en Stored Procedure en el foro de Mysql en Foros del Web. Hola foreros: que tal, trato de solucionar este problema y no me funca, a ver si me pueden ayudar, en resumen No puedo traer 2 ...
  #1 (permalink)  
Antiguo 09/01/2012, 12:14
Avatar de Prais  
Fecha de Ingreso: octubre-2010
Mensajes: 114
Antigüedad: 13 años, 5 meses
Puntos: 6
Exclamación Problema con Parametros de Salida en Stored Procedure

Hola foreros: que tal, trato de solucionar este problema y no me funca, a ver si me pueden ayudar, en resumen No puedo traer 2 parametros de salida arroja el siguiente error:
Código HTML:
Ver original
  1. #1414 - OUT or INOUT argument 2 for routine base_de_datos.ObtenTiempo is not a variable or NEW pseudo-variable in BEFORE trigger

El procedimiento almacenado es el siguiente:
Código MySQL:
Ver original
  1. DELIMITER //
  2. CREATE PROCEDURE ObtenTiempo(IN pid int, OUT DiferenciaTiempo time,OUT EstadoRemate tinyint(1))
  3.     declare DiferenciaT time;
  4.     declare EstadoObtenido tinyint(1);
  5.     declare Ahora datetime;
  6.  
  7.     SET EstadoObtenido=-1;
  8.     SET EstadoRemate=-1;
  9.     SET DiferenciaTiempo='00:00:00';
  10.  
  11.     SELECT estado INTO EstadoObtenido FROM productos WHERE id=pid;--este select me entrega el estado del articulo
  12.  
  13.  --si el estado es 2, entonces debo sacar la diferencia de fechas y devolverla como parametro
  14.  IF (EstadoObtenido=2) THEN
  15.    BEGIN
  16.         SET Ahora=NOW();
  17.     SELECT DiferenciaT=TIMEDIFF(fecha_termino_inicial,Ahora) FROM productos WHERE id=pid AND estado=2 AND estado_producto=0;
  18.  
  19.         IF (DiferenciaT > 0) THEN
  20.           BEGIN
  21.                 SET EstadoRemate=2;
  22.                 SET DiferenciaTiempo=DiferenciaT;
  23.           END;
  24.         ELSE
  25.           BEGIN
  26.                UPDATE articulo SET estado=3, estado_producto=1, fecha_termino_real=Ahora WHERE id=pid;
  27.           END;
  28.         END IF;
  29.    END;
  30.  END IF;
  31.  END; //

y lo estoy llamando de esta forma
Código MySQL:
Ver original
  1. call ObtenTiempo('20','@DiferenciaTiempo','@EstadoRemate')

Alguna sugerencia ?
  #2 (permalink)  
Antiguo 11/01/2012, 08:44
Avatar de Prais  
Fecha de Ingreso: octubre-2010
Mensajes: 114
Antigüedad: 13 años, 5 meses
Puntos: 6
Exclamación Respuesta: Problema con Parametros de Salida en Stored Procedure

Solucionado... Gracias de todas formas.

Etiquetas: parametros, procedure, salida, select, stored
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:37.