Главная страница
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.045 c
2-1273729075
tippa
2010-05-13 09:37
2010.08.27
грабер емайл


15-1266565974
balepa
2010-02-19 10:52
2010.08.27
C#. Объявление типов


15-1270110574
12
2010-04-01 12:29
2010.08.27
Загадка. Что в имени тебе моем?


2-1265626291
Petr
2010-02-08 13:51
2010.08.27
Работа с Вложенными циклами


2-1271923997
@!!ex
2010-04-22 12:13
2010.08.27
Как увеличить размер крестика(expand) в TTreeView?