Страница 1 из 1

как проверить наличие ХП в базе

Добавлено: 08 авг 2007, 17:52
ssb777
Заранее извиняюсь, наверное вопрос ламерский и уже не раз обсуждался, но я ответа не нашел :(

Как построить запрос к базе на предмет проверки наличия ХП с нужным именем?

P.S. перед обращением из клиенской программы к ХП нужно проверить есть ли такая, и если нет на лету создать...

Добавлено: 08 авг 2007, 18:11
WildSery
- CREATE OR ALTER PROCEDURE MYPROC ...
- RECREATE PROCEDURE MYPROC ...
- select 1 from rdb$procedures where rdb$procedure_name = 'MYPROC';

На выбор в зависимости от условий и версии сервера.

Re: как проверить наличие ХП в базе

Добавлено: 09 авг 2007, 08:38
Dimitry Sibiryakov
ssb777 писал(а):на лету создать...
А потом на лету убить того, кто придумал такую схему. Никогда и ничего нельзя в птичке создавать "на лету". Изменение метаданных - прерогатива DBA и обычно проводится в монопольном режиме.

Добавлено: 09 авг 2007, 11:31
ssb777
WildSery писал(а): - select 1 from rdb$procedures where rdb$procedure_name = 'MYPROC';
Большое спасибо, то что надо
WildSery писал(а):На выбор в зависимости от условий и версии сервера.
IBase 6, клиентская программа на Delphi.
Dimitry Sibiryakov писал(а): А потом на лету убить того, кто придумал такую схему.
"на лету" - это сильно сказано, в общем после обновления версии клиенской программы, при ПЕРВОМ обращении к нужной ХП (которой скорее всего нет в базе) эта нужная ХП ОДИН ЕДИНСТВЕННЫЙ РАЗ будет создана и в дальнейшем просто будет использоваться.
Я понимаю, что, лучше бы руками добавить ее в базу, но тут имеются сложности чисто организационного характера, клиенскую программу я по E-Mail передам и люди ее сами обновят, тут никакой квалификации особой не нужно делов то EXE файл заменить, а в базу лазить чужими руками (объясняя пользователю по телефону что и как делать) уж увольте :(

Добавлено: 09 авг 2007, 11:44
stix-s
ssb777 писал(а):
WildSery писал(а): - select 1 from rdb$procedures where rdb$procedure_name = 'MYPROC';
Большое спасибо, то что надо
WildSery писал(а):На выбор в зависимости от условий и версии сервера.
IBase 6, клиентская программа на Delphi.
Dimitry Sibiryakov писал(а): А потом на лету убить того, кто придумал такую схему.
"на лету" - это сильно сказано, в общем после обновления версии клиенской программы, при ПЕРВОМ обращении к нужной ХП (которой скорее всего нет в базе) эта нужная ХП ОДИН ЕДИНСТВЕННЫЙ РАЗ будет создана и в дальнейшем просто будет использоваться.
Я понимаю, что, лучше бы руками добавить ее в базу, но тут имеются сложности чисто организационного характера, клиенскую программу я по E-Mail передам и люди ее сами обновят, тут никакой квалификации особой не нужно делов то EXE файл заменить, а в базу лазить чужими руками (объясняя пользователю по телефону что и как делать) уж увольте :(
Передавай вместе с новой клиентской частью скрипт обновления базы с батником или в Upgrade-р зашей - сначала бакап базы, затем ее обновление - при удаче обновления БД замена клиентской части

Добавлено: 09 авг 2007, 13:50
Attid
странно что никто про IBase 6 ничего не сказал.

выкинь её и ставь птичку.
на сайте есть описание почему (там много глюков исправленых в птички либо в последних версиях IBasе).

Добавлено: 09 авг 2007, 13:59
stix-s
Attid писал(а): странно что никто про IBase 6 ничего не сказал.
Потому что я уже привык к ответам - это менять нельзя (нехочу, не буду)!

Добавлено: 09 авг 2007, 16:01
Attid
stix-s писал(а): Потому что я уже привык к ответам - это менять нельзя (нехочу, не буду)!
ну у чувака погстов всего 2 штуки , может он еще не в курсе . .

Добавлено: 10 авг 2007, 10:59
ssb777
stix-s писал(а):
Attid писал(а): странно что никто про IBase 6 ничего не сказал.
Потому что я уже привык к ответам - это менять нельзя (нехочу, не буду)!
Есть такая французкая поговорка (за точность не ручаюсь)
Лучшее - враг хорошего

ну или вольный славянский вариант
Пока оно работает - НЕ ТРОГАЙ!


кстати о птичках :)
Attid писал(а):на сайте есть описание почему (там много глюков исправленых в птички либо в последних версиях IBasе).
если не трудно можно ссылочку на описание...

Добавлено: 10 авг 2007, 11:29
WildSery
ssb777 писал(а):Пока оно работает - НЕ ТРОГАЙ!
Что ж ты сам не следуешь своему совету?
Эта "истина" как правило неверна. Любая штукенция нуждается в обслуживании и зачастую в доработке.
Все версии перечислены тут.

Добавлено: 10 авг 2007, 11:29
stix-s
ssb777 писал(а):

кстати о птичках :)
Attid писал(а):на сайте есть описание почему (там много глюков исправленых в птички либо в последних версиях IBasе).
если не трудно можно ссылочку на описание...
по версиям - http://ibase.ru/devinfo/allversions.htm
по багам - релиз ноты или в разделе Документация на данном сайте
ЗЫ
Пока писал, уже ответили :)