Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.05 c
2-1274121378
man_of_sense
2010-05-17 22:36
2010.08.27
Компонент WebBrowser


2-1273824908
Игорек
2010-05-14 12:15
2010.08.27
Как лучше работать с файлом размером больше 100мб


2-1273335534
alexandr
2010-05-08 20:18
2010.08.27
использование потоков для передачи строковой информации


15-1264718996
Германн
2010-01-29 01:49
2010.08.27
Странно работает "Показать мои вопросы"


4-1230942499
Fighter
2009-01-03 03:28
2010.08.27
Как получить серийный номер USB флешки (UniqueID)




   Наверх