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

Entradas populares de este blog

Para que sirve la N en SQL Server

MYSQL : CURSORES

SQL SERVER : EJECUTAR UN PAQUETE SSIS