







|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
26842
|
|