MySQL - Nombre de tabla como parametro

 
Vista:

Nombre de tabla como parametro

Publicado por william (3 intervenciones) el 27/02/2006 22:59:59
Saludos y de antemano gracias.

DELIMITER //
CREATE PROCEDURE Relacional(IN Origen VARCHAR(64), IN Operador INT, IN Consigna VARCHAR(64), IN Destino VARCHAR(64), IN Temporizador INT)
BEGIN
DECLARE VConsigna INT;
DECLARE VOrigen INT;
SELECT valor INTO VConsigna FROM Consigna;
SELECT valor INTO VOrigen FROM Origen;
IF Temporizador>0 THEN
SELECT SLEEP(Temporizador);
END IF;
CASE Operador
WHEN 0 THEN
IF VOrigen > VConsigna THEN
UPDATE Destino SET valor='1', fecha=now();
ELSE
UPDATE Destino SET valor='0', fecha=now();
END IF;
WHEN 1 THEN
IF VOrigen < VConsigna THEN
UPDATE Destino SET valor='1', fecha=now();
ELSE
UPDATE Destino SET valor='0', fecha=now();
END IF;
ELSE SELECT sleep(4);
END CASE;
END//
DELIMITER ;

CALL Relacional('Tabla1',0,'Tabla2','Tabla3',8)//
ERROR 1146 (42S02): Table 'replica.Consigna' doesn't exist

Bueno, la duda esta en lo siguiente para este procedimiento necesito que los nombres de las tablas donde realiza las consultas les llegue como parametros. el procedimiento en el momento de creacion no me da errores pero cuando los ejecuto no me toma el valor de las variavles Consigna y Origen si no que me dice que las tablas Consigna y Origen no existen, si alguien puede decirme o darme una idea de como hacer que esto funcione sin poner los nombres de las tablas fijos gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder