Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
create table внутри процедуры (iv) 04/03/2006 - 15:59:48
      Re: create table внутри процедуры (Dinky) 06/03/2006 - 19:13:31
      Re: create table внутри процедуры (iv) 07/03/2006 - 22:46:26
      Re: create table внутри процедуры (Dinky) 07/03/2006 - 22:53:10
      Re: create table внутри процедуры (iv) 08/03/2006 - 00:18:30

> Original message text:
> From: iv - 04/03/2006 - 15:59:48
> Subject:create table внутри процедуры
> -----------------
> Создаю такую процедуру:
> create procedure create_table(IN tbl_name varchar(20))
> BEGIN
> CREATE TABLE tbl_name
> (
> // столбцы и т.д.
> )
> END;
>
> при вызове этой процедуры call create_table('abc') создается таблица с именем 'tbl_name', а не 'abc'. Есть ли способ заставить create table прочитать значение параметра процедуры, а не его имя?
>


From: iv - 07/03/2006 - 22:46:26
Subject:create table внутри процедуры
-----------------
Попробовал через prepared statements, делаю так:

PREPARE stmt1 FROM 'create table ?(data1 varchar(20))';

ругается на ошибку синтаксиса, а конкретно на символ ?, причем этот запрос выполняю из клиента, не трогая процедуры. В мануале, который шел с версией 5.1.6 альфа, по поводу prepared statements, а конкретно в разделе 13.7 написано:

The following SQL statements can be used in prepared statements: CREATE TABLE, DELETE, DO, INSERT, REPLACE, SELECT, SET, UPDATE, and most SHOW statements. Other statements are not yet supported.

Так что не так в этом запросе? почему ошибка синтаксиса?


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
26842



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |