![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Commit в IBase [D6, FireBird 1.5]
Beetle(c)]u$ © (2005-09-09 10:34:00)Суть проблемы:
Небходима хранимая процедура, которая в своем теле запускает другие хранимые процедуры.
Первая процедура создает список таблиц, которые необходимо создать.
Вторая - создает эти таблицы, согласно описания.
третья- заполняет эти таблицы данными.
Проблема:
Для того, чтобы заработала третья процедура, необходимо после второй процедуры сделать commit. Однако просто написание этого слова не проходит. Каким образом это можно сделать в теле процедуры?
Anatoly Podgoretsky (2005-09-11 17:32:00) [1]Да еще три раза на одну транзакцию.
Desdechado (2005-09-10 13:48:00) [2]2 DSKalugin ©
ветка форума - не скрипт, чтоб в ней коммит ставить :))
DSKalugin (2005-09-10 12:40:00) [3]commit work;
DSKalugin (2005-09-10 12:40:00) [4]Удалено модератором
Desdechado (2005-09-09 16:38:00) [5]из тех же соображений:
> FB кэширует метаданные
Андрей Жук (2005-09-09 11:29:00) [6]
> Команды DDL (определения метаданных) в ХП запускать
> КАТЕГОРИЧЕСКИ не стоит, хоть и можно. Но т.к. FB
> кэширует метаданные при подключении, то любое их
> изменение не увидишь без переподключения. Делай
> скриптом. Это прозрачнее и правильнее.
Насколько я знаю, в FB2 DDL операторы нельзя будет мешать с DML в ХП.
Desdechado (2005-09-09 11:10:00) [7]Команды DDL (определения метаданных) в ХП запускать КАТЕГОРИЧЕСКИ не стоит, хоть и можно. Но т.к. FB кэширует метаданные при подключении, то любое их изменение не увидишь без переподключения. Делай скриптом. Это прозрачнее и правильнее.
Виталий Панасенко (2005-09-09 10:45:00) [8]auto DDL on ?
Sergey13 (2005-09-09 10:38:00) [9]А зачем все это в ХП? И какими данными ты заполняешь новые таблицы?
Может лучше скриптом?