SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 18.10.2011 04:22:09

mikeac
Участник
Зарегистрирован: 17.10.2011
Сообщений: 7

create table in store procedure how to?

Здраствуйте, столкнулся с непонятной работы процедуры:

переменные ей можно передавать через IN , а вот если их же и использовать для создания таблиц то требуется мини-хак... сейчас процетирую что у меня есть рабочее...


DELIMITER $$
DROP PROCEDURE IF EXISTS `mp` $$
CREATE PROCEDURE `mp`(in np varchar(20))
begin
set @sql2=concat('create table IF NOT EXISTS `',np,'` (
`i` int(10) NOT NULL AUTO_INCREMENT,
  `post_id` smallint(6) NOT NULL,
  `name_tov` varchar(100) NOT NULL,
  `cena` varchar(12) NOT NULL,
  `access_level` tinyint(1) NOT NULL,
  PRIMARY KEY (`i`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;');

prepare stmt from @sql2;
execute stmt;
drop prepare stmt;
end$$
DELIMITER ;

на некоторых просторах интернета гуру дают ссылку на пункт у документации mysql под номером 12.7 и его я так и не понял.

то что делает CONCAT - это конкатенация двух (и более) значений


а смысл PREPARE ? объясните пожалуйста на пальцах smile

Неактивен

 

#2 18.10.2011 04:35:39

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: create table in store procedure how to?

Неактивен

 

#3 18.10.2011 05:03:31

mikeac
Участник
Зарегистрирован: 17.10.2011
Сообщений: 7

Re: create table in store procedure how to?

Спасибо за ссылку, есть над чем подумать!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson