Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.19;
Скачать: CL | DM;

Вниз

ALTER TABLE в InterBase   Найти похожие ветки 

 
Vitaly Grobshtein   (2002-11-30 23:16) [0]

Мне нужно добавить поле в таблицу IB и заполнить его данными. Сделать это нужно в рамках одной транзакции ( с возможностью отката).
Проблема в том, что после Alter table новое поле недоступно до commit.

Есть ли решение этой проблемы?


 
AK-74 ©   (2002-12-01 01:48) [1]

Необходимо установить уровень разграничения транзакции READ COMMITTED.
Например, двойным щелчком на IBTransaction. Или "SET TRANSACTION READ COMMITTED".


 
Vitaly Grobshtein   (2002-12-01 14:06) [2]

Так и установлено.
Read Commited влияет на видимость записей, обновленных ДРУГИМИ транзакциями. Мне же нужно увидеть поле, созданное ТЕКУЩЕЙ транзакцией. Подозреваю, что решение связано с подтверждением обновления системных таблиц, но как это сделать, не завершая транзакции?


 
AK-74 ©   (2002-12-01 15:28) [3]

Да, видимо DDL инструкции надо обязательно подтверждать.
А если так: добавляем поле, commit, заполняем данными, нормально - commit, ошибка - drop столбец. Вот и весь rollback.


 
Ihor Osov'yak ©   (2002-12-01 18:53) [4]

Боюсь сказать глупость, но я как то на уровне подсознания запечатлил себе в памяти, что в документации по IB видел, что крайне неприветсвуется изменение метаданных, когда есть другие транзакции... На практике получал проблемы только в том случае, когда применял альтер к обьектам, которые задействонаны в других
активных транзакциях. Ой, о чем это я... Думаю, что ничего более умного, чкм предложено AK-74 © (01.12.02 15:28) вряд - ли придумается ...
Зы fido7.ru.delphi.db - там много толковых спецов по IB
Или сразу в http://www.ibase.ru ...


 
AK-74 ©   (2002-12-01 19:03) [5]

И еще: обычно таблицы при эксплуатации растут в длину... А в ширину - не могу представить такой необходимости


 
kostik78ua   (2002-12-01 19:19) [6]

Насколько я себе представляю Alter table происходит ВНЕ транзакций.


 
AK-74 ©   (2002-12-01 20:17) [7]

>kostik78ua (01.12.02 19:19)

Занимательная гипотеза...



Страницы: 1 вся ветка

Текущий архив: 2002.12.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
8-61714
FreeMen
2002-09-02 08:05
2002.12.19
Как сделать полноэкранное окно?


3-61505
РВА
2002-12-02 17:40
2002.12.19
Ehlib использование


4-61859
mikl2002
2002-11-06 09:25
2002.12.19
ShFileOperation - Shnamemapping


3-61460
Vitaly Grobshtein
2002-11-30 23:16
2002.12.19
ALTER TABLE в InterBase


14-61773
Anatoly Podgoretsky
2002-11-20 07:33
2002.12.19
Именинники 20 ноября