MySQL - Mr.

 
Vista:

Mr.

Publicado por Jose Manuel Gonzalez (2 intervenciones) el 14/11/2007 14:45:19
Buenos dias.

He estado tratando ... (y no he podido, no se si se pueda) decrear una tabla cuyo nombre sea un parametro, es decir que el nombre de la tabla no sea estatico dentro de un procedimiento almacenado, ejemplo.

DELIMITER $$

DROP PROCEDURE IF EXISTS `scb`.`ct`$$

CREATE PROCEDURE `scb`.`ct`(IN tmp1 VARCHAR(2))
BEGIN

CREATE TABLE tmp1 (codpais char(2) NULL default '');

END$$

DELIMITER ;

Alguien tiene idea de como hacerlo..?

Saludos y 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

Crear tabla

Publicado por Jose Manuel (2 intervenciones) el 14/11/2007 17:39:56
Lo consegui, aqui esta el codigo: Crea la tabla "tabletest"

Llamada : call ct("tabletest");


DELIMITER $$

DROP PROCEDURE IF EXISTS `scb`.`ct`$$

CREATE PROCEDURE `scb`.`ct`(IN tmp VARCHAR(2))
/*LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
| SQL SECURITY { DEFINER | INVOKER }
| COMMENT 'string'*/
BEGIN
SET @s = CONCAT("create table ", tmp, "(codpais int(1));");
PREPARE stmt FROM @s;

EXECUTE stmt;

END$$

DELIMITER ;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar