Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.074 c
15-1271746918
JohnKorsh
2010-04-20 11:01
2010.08.27
4 ядра в XP SP3.


2-1266162841
azatsh
2010-02-14 18:54
2010.08.27
как установить компонент из пакета


2-1272958382
Пробегалец
2010-05-04 11:33
2010.08.27
Быстрый вывод графики на канву


15-1263833680
Pikvar
2010-01-18 19:54
2010.08.27
Delphi - с чего начинать изучение?


2-1272104034
Kukulkan
2010-04-24 14:13
2010.08.27
Изменение TGoupBox!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский