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

Отключение хранимых процедур

Добавлено: 20 янв 2005, 17:08
alekstes
Такая проблема. в базе в некоторых полях нужно изменить тип.
создаю временное поле, копирую данные в него затем удаляю старое поле, создаю нужное мне поле и возвращаю в него данные.
Но вот проблема! некоторые поля используются в хранимых процедурах. и их невозможно удалить.
конечно можно удалить процедуры а потом их восстановить.
но больно много процедур и хотелось бы обойтись без удаления.

Добавлено: 20 янв 2005, 17:20
Дмитрий
Если можно, то:

Версия ИБ/ФБ?


А быстрый совет такой: IBExpert-извлечение метаданных-извлечь все ХП-удалить все ХП из базы-изменить все таблицы-из скрипта создать все ХП. Быстро и хорошо. Причем тип полей можно менять в том-же IBExpert-е. И не зачем столбцы создавать и данные переносить.

Re: Отключение хранимых процедур

Добавлено: 20 янв 2005, 17:49
Merlin
alekstes писал(а):Такая проблема. в базе в некоторых полях нужно изменить тип.
создаю временное поле, копирую данные в него затем удаляю старое поле, создаю нужное мне поле и возвращаю в него данные.
Но вот проблема! некоторые поля используются в хранимых процедурах. и их невозможно удалить.
конечно можно удалить процедуры а потом их восстановить.
но больно много процедур и хотелось бы обойтись без удаления.
Не хочешь удалять -

ALter Procedure MyProc As
Begin
Exit;
End

а потом альтер обратно. А ещё - начиная с IB6 тип поля можно поменять через Alter Table Alter Column. С некоторыми ограничениями - не каждый тип преобразуется в каждый - и потом сделать обязательно Update MyTable Set ThisColumn=ThisColumn.