MySQL : Usando Stored Preocedure y Sentencias Preparadas
DELIMITER $$
DROP PROCEDURE IF EXISTS `leer` $$
CREATE DEFINER=`database` PROCEDURE `readdata`(IN tabla VARCHAR(100), IN idcampo VARCHAR(50))
BEGIN
DECLARE lastregistry INT;
SET lastregistry = (SELECT idstream FROM stream order by idstream DESC LIMIT 1);
SET @snt = CONCAT('SELECT ' ,tabla,'.* FROM stream INNER JOIN ',tabla ,' ON stream.claveprimaria = ',tabla,'.',idcampo,
' WHERE stream.idstream = ', lastregistry);
PREPARE sent FROM @snt;
EXECUTE sent;
DEALLOCATE PREPARE sent;
END $$
DELIMITER ;
DELIMITER $$
DROP PROCEDURE IF EXISTS `lastoperation` $$
CREATE DEFINER=`database` PROCEDURE `readdata`(IN tabla VARCHAR(100), IN idcampo VARCHAR(50))
BEGIN
SET @snt = CONCAT('SELECT ' ,tabla,'.* FROM stream INNER JOIN ',tabla ,' ON stream.claveprimaria = ',tabla,'.',idcampo,
' WHERE stream.idstream = ( SELECT idstream FROM stream order by idstream DESC LIMIT 1)');
PREPARE sent FROM @snt;
EXECUTE sent;
DEALLOCATE PREPARE sent;
END $$
DELIMITER ;
DELIMITER $$
DROP PROCEDURE IF EXISTS `leer` $$
CREATE DEFINER=`database` PROCEDURE `readdata`(IN tabla VARCHAR(100), IN idcampo VARCHAR(50))
BEGIN
DECLARE lastregistry INT;
SET lastregistry = (SELECT idstream FROM stream order by idstream DESC LIMIT 1);
SET @snt = CONCAT('SELECT ' ,tabla,'.* FROM stream INNER JOIN ',tabla ,' ON stream.claveprimaria = ',tabla,'.',idcampo,
' WHERE stream.idstream = ', lastregistry);
PREPARE sent FROM @snt;
EXECUTE sent;
DEALLOCATE PREPARE sent;
END $$
DELIMITER ;
Comentarios
Publicar un comentario