Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Crear tabla

Estas en el tema de Crear tabla en el foro de Mysql en Foros del Web. Buenas amigos necesito de su ayuda...estoy manajando un SP(Procedimiento Almacenado) para crear una tabla, el nombre de la tabla varia por mes Ejenplo en el ...
  #1 (permalink)  
Antiguo 20/11/2012, 08:02
 
Fecha de Ingreso: marzo-2009
Mensajes: 291
Antigüedad: 15 años
Puntos: 1
Pregunta Crear tabla

Buenas amigos necesito de su ayuda...estoy manajando un SP(Procedimiento Almacenado) para crear una tabla, el nombre de la tabla varia por mes Ejenplo en el mes 10, ejem102012 en el mes 11 ejem112012, lo que yo hago es pasar por parametroel mes y año y se lo asigno a una variable, caundo le digo creata table nombre de la variable...me crea la tabla con "nmbrevaraiable", no lo ke contiene la variable. Ej.
CREATE PROCEDURE `envios`.`Envios` (mes varchar(10),anio varchar(10))
BEGIN
declare tabla varchar(15);
declare vig varchar(15);

set tabla=concat(mes,anio);

drop table if exists tabla;
create table tabla Select.......
si yo hago esto me crea un tabal con el nombre tabla, y yo kiero ke me lo cree con lo ke contiene la variable "tabla".
Alguna ayudita??????
  #2 (permalink)  
Antiguo 20/11/2012, 08:11
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Crear tabla

Primero: Crear tablas por mes es una pésima idea a nivel de sistemas. Un sistema correctamente diseñado no necesita ese tipo de cosas.
Lo que se hace es crear tablas en las cuales se pueda hacer ese tipo de consultas por fechas o períodos.
Crear tablas dinámicamente hará que por un lado la creación de consultas se complique en la aplicación, y por otro, tarde o temprano perderás el control de la estructura de la base y tendrás que empezar de cero.. eliminando ese tipo de tablas por un diseño correcto, eficaz y eficiente, que no contiene ese tipo de cosas.

Segundo: para crear tablas con nombres que sean parametrizables, se requiere usar sentencias preparadas,que son un recurso especial de los DBMS.
Puedes encontrar ejemplos de esto en las FAQs de MySQL.
Léelos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 20/11/2012, 08:29
 
Fecha de Ingreso: marzo-2009
Mensajes: 291
Antigüedad: 15 años
Puntos: 1
Respuesta: Crear tabla

gracias por tu respuesta crei ke era algo mas sencillo...muchas gracias
  #4 (permalink)  
Antiguo 20/11/2012, 08:35
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Crear tabla

En BBDD, las vías cortas llevan siempre a desastres grandes.

Es mejor darle mucho más esfuerzo y tiempo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:22.