Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Базы данных > SQL
Перезагрузить страницу Нужно создать N таблиц в цикле.
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
dvjdjvu dvjdjvu вне форума
Новичок
 
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.09.2012
По умолчанию Нужно создать N таблиц в цикле. - 20.11.2012, 11:34

CREATE TABLE 'table' (
'id', int(11)
) ;

Как в цикле средствами mysql создать 64 таблицы к примеру.
table0 ... table63???
Ответить с цитированием
  (#2 (permalink)) Старый
dvjdjvu dvjdjvu вне форума
Новичок
 
Сообщений: 8
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 21.09.2012
По умолчанию 20.11.2012, 15:46

SQL Код:
DELIMITER |
DROP PROCEDURE IF EXISTS CreateTables;
CREATE PROCEDURE CreateTables ()
    BEGIN
    SET [собака]udb_user := "udb_user";
    SET [собака]udb_user_all_sum_weight := "udb_user_all_sum_weight";
    SET [собака]udb_user_weight_on_day := "udb_user_weight_on_day";

    SET [собака]i:=0;
    WHILE [собака]i<=3 DO
        SET [собака]udb_user := "udb_user";
        SET [собака]udb_user_all_sum_weight := "udb_user_all_sum_weight";
        SET [собака]udb_user_weight_on_day := "udb_user_weight_on_day";
        SET [собака]udb_user := CONCAT([собака]udb_user, [собака]i);
        SET [собака]udb_user_all_sum_weight := CONCAT([собака]udb_user_all_sum_weight, [собака]i);
        SET [собака]udb_user_weight_on_day := CONCAT([собака]udb_user_weight_on_day, [собака]i);

        SET [собака]i:=[собака]i+1;

        SET [собака]DropTable := "";
        SET [собака]DropTable := CONCAT("DROP TABLE IF EXISTS ", [собака]udb_user);
        PREPARE shtm FROM [собака]DropTable;
        EXECUTE shtm;
        DEALLOCATE PREPARE shtm;

        SET [собака]DropTable := "";
        SET [собака]DropTable := CONCAT("DROP TABLE IF EXISTS ", [собака]udb_user_all_sum_weight);
        PREPARE shtm FROM [собака]DropTable;
        EXECUTE shtm;
        DEALLOCATE PREPARE shtm;

        SET [собака]DropTable := "";
        SET [собака]DropTable := CONCAT("DROP TABLE IF EXISTS ", [собака]udb_user_weight_on_day);
        PREPARE shtm FROM [собака]DropTable;
        EXECUTE shtm;
        DEALLOCATE PREPARE shtm;

        SET [собака]CreateTable := "";
        SET [собака]CreateTable := CONCAT("CREATE TABLE ", [собака]udb_user, " ( `id` int(11) NOT NULL DEFAULT '0', `category` int(11) NOT NULL, `weight` int(11) NOT NULL, `last_weight` int(11) NOT NULL, `last_update` int(11) NOT NULL, PRIMARY KEY (`id`,`category`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8");
        PREPARE shtm FROM [собака]CreateTable;
        EXECUTE shtm;
        DEALLOCATE PREPARE shtm;

        SET [собака]CreateTable := "";
        SET [собака]CreateTable := CONCAT("CREATE TABLE ", [собака]udb_user_all_sum_weight, " ( `id` int(11), `sum_all_weight` int(11), PRIMARY KEY (id), FOREIGN KEY (id) REFERENCES udb_user(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8");
        PREPARE shtm FROM [собака]CreateTable;
        EXECUTE shtm;
        DEALLOCATE PREPARE shtm;

        SET [собака]CreateTable := "";
        SET [собака]CreateTable := CONCAT("CREATE TABLE ", [собака]udb_user_weight_on_day, " ( `id` int(11), `category` int(11), `id_hour` int(11), `time` int(11), `weight` int(11), PRIMARY KEY (`id`,`category`,`id_hour`), FOREIGN KEY (id,category) REFERENCES udb_user(id,category) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8");
        PREPARE shtm FROM [собака]CreateTable;
        EXECUTE shtm;
        DEALLOCATE PREPARE shtm;

    END WHILE;

END;
|
DELIMITER |
DELIMITER ;


CALL CreateTables();

Сколько времени ушло на эту хрень. Собаку поймете, парсер сайта не пускает.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно создать модуль в VBA Ecxe шерны Visual Basic 1 12.06.2012 06:27
Нужно создать интерактивную программу dakila Любые вопросы от новичков 0 26.12.2011 17:45
нужно создать пользовательскую функцию в VBA оля незнакомцева Visual Basic 2 30.11.2011 14:58
Нужно создать mfc custom control DoPinG83 Visual C++ 0 11.12.2010 01:11
Нужно создать программу с массивом на паскале! Olllov Pascal 1 28.10.2010 10:53
Нужно создать пермутацию chery Prolog 0 09.04.2010 06:37
Нужно создать форму в ней поле с клетками 10 на 8 yarus .NET 6 17.05.2008 22:45
Нужно создать табицу 10x10 STDark .NET 1 16.10.2006 08:48
Как создать тип данных для обозначения года в 12-летнем цикле 0_0 Вопросы начинающих программистов 12 10.11.2005 23:16
Нужно програмно создать TImage Алексеев Николай Delphi 12 03.02.2005 06:31
Нужно создать реалиционную матрицу 6a6Ka SQL 1 13.10.2004 14:16
Нужно создать коллекцию файлов Expens Delphi 2 14.05.2004 22:49



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов