Главная страница
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.49 MB
Время: 0.17 c
2-1268985882
Boortwint
2010-03-19 11:04
2010.08.27
Программирование с использованием строк.


2-1273729075
tippa
2010-05-13 09:37
2010.08.27
грабер емайл


15-1269420643
Sergey2
2010-03-24 11:50
2010.08.27
формат с разделителями


11-1221339711
Dy1
2008-09-14 01:01
2010.08.27
пожалуйста скажите что не так


6-1216719811
GraySE
2008-07-22 13:43
2010.08.27
TWebBrowser. Доступ к заголовкам.