concatenar para realizar un procedimiento
Publicado por statham (34 intervenciones) el 18/06/2019 12:05:38
Buenas gente, estoy buscando la manera de concatenar palabras para poder realizar un procedimiento con consultas y evitar que sea repetitivo.
Por ejemplo:
Para empezar no se si el paramentro entorno debe ser un varchar o un string.
Lo que busco es ralizar un select * from bbdd1.prueba, bbdd1 llegaria como parametro.
Es posible hacerlo de algun modo?
Al igual que al reves, es decir:
En pp iria prueba dando lugar a un select * from bbdd1.prueba.
Puede que sea creando una variable ya que en la propia consulta no vale?
Un saludo.
edit 1: Esto tiene mejor pinta pero al ejecutar el procedimiento me dice que no existe tabla.id_prueba
Por ejemplo:
1
2
3
4
5
6
7
8
delimiter //
CREATE PROCEDURE prueba( IN id2 BIGINT(20), IN entorno VARCHAR(10) )
BEGIN
select * from concat(entorno, '.prueba') where id_prueba like id2;
END //
delimiter ;
Para empezar no se si el paramentro entorno debe ser un varchar o un string.
Lo que busco es ralizar un select * from bbdd1.prueba, bbdd1 llegaria como parametro.
Es posible hacerlo de algun modo?
Al igual que al reves, es decir:
1
2
3
4
5
6
7
8
delimiter //
CREATE PROCEDURE prueba( IN id2 BIGINT(20), IN pp VARCHAR(10) )
BEGIN
select * from concat('bbdd1.', pp) where id_prueba like id2;
END //
delimiter ;
En pp iria prueba dando lugar a un select * from bbdd1.prueba.
Puede que sea creando una variable ya que en la propia consulta no vale?
Un saludo.
edit 1: Esto tiene mejor pinta pero al ejecutar el procedimiento me dice que no existe tabla.id_prueba
1
2
3
4
5
6
7
8
9
delimiter //
CREATE PROCEDURE prueba( IN id2 BIGINT(20), IN entorno VARCHAR(20) )
BEGIN
select * from (SELECT CONCAT(entorno,".prueba") ) as tabla where tabla.id_prueba like id2;
END //
delimiter ;
Valora esta pregunta


0