Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.13 c