![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление всех хранимых процедур в БД [D6, Firebird 1.5]
S@shka © (2005-11-15 00:00:00)Как это сделать? Если существует сколько то процедур - они взаимосвязаны (то есть бывает что из одной вызывается другая)
и образно говоря (для чистоты эксперимента) количество их и имена на известны.
Не вижу ничего кроме как это делает IBExpert:
Deactivated all stored procedures
Kill all )))
Но как на Delphi реализовать данную штуку - ведь Deactivated - это просто обертка кода /* ... */
Зачем это надо ? К моему глубокому сожалению БД находится в стадии тряски и частенько приходится делать СервисПаги по обновлению STORED_PROCEDURES (((
Johnmen (2005-11-16 11:56:00) [1]>S@shka © (16.11.05 10:46) [4]
>....существует зависимость процедур:
Эту зависимость также можно получить из соотв.системных таблиц.
Карелин Артем (2005-11-16 11:08:00) [2]Вместо пары drop/create используй
create or alter procedure. Не нравится - перед drop делай alter procedure с пустым телом процедуры.
Если совсем плохо - выполни delete from rdb$DEPENDENCIES
S@shka (2005-11-16 10:46:00) [3]To >> Johnmen
Спасиб - это решает вопрос получения списка процедур, но я все же не смогу сделать просто For .... и все удалить последовательно
ввиду того, что существует зависимость процедур: т.е. есть процедуры исп. в других процедурах - а хотелось бы полный автомат.
Johnmen (2005-11-15 09:23:00) [4]
select rdb$procedure_name
from rdb$procedures
where rdb$system_flag = 0;
подробности http://www.ibase.ru/devinfo/sysqry.htm
Карелин Артем (2005-11-15 08:01:00) [5]А вообще есть конструкция
Create or alterв последних версиях FB.
Карелин Артем (2005-11-15 07:48:00) [6]ALTER PROCEDURE не катит?