Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

FireBird хранимые процедуры   Найти похожие ветки 

 
Irissss   (2010-05-18 12:42) [0]

Начинаю разбираться с хранимыми процедурами:
подскажите, где ошибка
CREATE OR ALTER PROCEDURE NEW_PROCEDURE (
   table_name char(30) not null)
as
begin

CREATE TABLE table_name (
   ID                      INTEGER NOT NULL,
   NAME                    VARCHAR(100) NOT NULL,
   CAPTION                 VARCHAR(150) NOT NULL,
   SAVE_NAME               VARCHAR(100),
   ID_ITEM_TYPE            INTEGER
);

 suspend;
end^

Выдает на CREATE TABLE table_name (


 
Ega23 ©   (2010-05-18 12:47) [1]

Вот тут товарищи подсказывают, что нужен execute statement "....."
А в чём сакральный смысл данной ХП?


 
Irissss   (2010-05-18 12:55) [2]

сакральный смысл данной ХП создавать таблицу с заданным именем

Работаю через IBExperts, а он мне говорит, что не правильно. Не могу понять что?

SET TERM ^ ;

CREATE OR ALTER PROCEDURE NEW_PROCEDURE (
   table_name char(30) not null)
as
begin

CREATE TABLE table_name (
   ID                      INTEGER NOT NULL,
   NAME                    VARCHAR(100) NOT NULL,
   CAPTION                 VARCHAR(150) NOT NULL,
   SAVE_NAME               VARCHAR(100),
   ID_ITEM_TYPE            INTEGER,
   FACT_USING              INTEGER DEFAULT 0,
   FACT_ENABLE             INTEGER DEFAULT 0,
   FACT_VISIBLE            INTEGER DEFAULT 0,
   PLAN_USING              INTEGER DEFAULT 0,
   PLAN_ENABLE             INTEGER DEFAULT 0,
   PLAN_VISIBLE            INTEGER DEFAULT 0,
   IS_ADD_SEPARATOR_AFTER  INTEGER DEFAULT 0,
   COLOR                   VARCHAR(10) DEFAULT "clNone"
);

 suspend;
end^

SET TERM ; ^


 
Ega23 ©   (2010-05-18 13:14) [3]


> Не могу понять что?


Я уже ответил.


 
Sergey13 ©   (2010-05-18 13:35) [4]

> [0] Irissss   (18.05.10 12:42)
> где ошибка

Действительно, где ошибка?
А в ХП DDL-запросы вообще допустимы? Что-то мне сомнительно.


 
Медвежонок Пятачок ©   (2010-05-18 13:41) [5]

сакральный смысл данной ХП создавать таблицу с заданным именем

А в чем сакральный смысл создавать таблицу процедурой?
Тем более что явный ддл внутри процедуры недопустим.


 
Ega23 ©   (2010-05-18 13:43) [6]


> А в ХП DDL-запросы вообще допустимы? Что-то мне сомнительно.


через execute statement - почему нет?


 
turbouser ©   (2010-05-18 13:52) [7]


> Ega23 ©   (18.05.10 13:43) [6]
>
>
> > А в ХП DDL-запросы вообще допустимы? Что-то мне сомнительно.
>
> через execute statement - почему нет?
>

Потому что это неправильно. Да и вообще, костыль "execute statement" создавался не для этого. Кстати, когда-то обещали его убрать..


 
Ega23 ©   (2010-05-18 13:54) [8]


> Потому что это неправильно.


Речь идёт не об идеологической составляющей. Правильно-неправильно - это тема отдельного холисрача.



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.054 c
9-1185113429
AlexanderMS
2007-07-22 18:10
2010.08.27
Ограждение округлой формы.


15-1264109427
Юрий
2010-01-22 00:30
2010.08.27
С днем рождения ! 22 января 2010 пятница


2-1275776869
akosh12345
2010-06-06 02:27
2010.08.27
Динамическая память


15-1270016502
Alkid
2010-03-31 10:21
2010.08.27
Тонкий стёб над С++


2-1266278397
romingood
2010-02-16 02:59
2010.08.27
Вопрос по строковым типам