Ir al contenido principal

MySQL - Selección (select) parametrizando el nombre de tabla y un campo

En el siguiente ejemplo se muestra como crear un procedimiento almacenado que recibe dos parámetros (nombre de tabla y nombre de columna) y realiza una selección (select) en esa tabla y campo, creando así un método para hacer selecciones (select) parametrizando el nombre de tabla y un campo.

[sourcecode language="sql"]

DELIMITER $$

DROP PROCEDURE IF EXISTS ejemplo$$
CREATE PROCEDURE ejemplo(IN tabla CHAR(64), IN columna CHAR(64))
READS SQL DATA
COMMENT 'Hace select de una tabla y campo parametrizado'
BEGIN

SET @s = CONCAT('SELECT ' , columna , ' FROM ' , tabla);
PREPARE stmt FROM @s;
EXECUTE stmt;

END $$

DELIMITER ;

[/sourcecode]

Ahora tan solo hay que llamarlo con el nombre de tabla y campo que queramos:

[sourcecode language="sql"]
call ejemplo('mitabla', 'micampo');
[/sourcecode]

Comentarios

  1. [...] http://elbitcampeador.wordpress.com/2009/02/13/mysql-seleccion-select-parametrizando-el-nombre-de-ta... [...]

    ResponderEliminar
  2. Buen día, antes que nada un saludo, un gran favor, me podrias mandar a mi correo heocay@hotmail.com como puedo devolver un conjunto de registros desde un procedimiento almacenado. y tambien si se puede y como hacerlo, que desde un procedimiento almacenado enviar registros segun un filtro dado al estilo de la instruccion SUSPEND de firebird.
    Mil gracias

    ResponderEliminar

Publicar un comentario