Конференция "Базы" » Хранимые процедуры. InterBase6. [D6, XP]
 
  • Drowsy (15.11.09 11:08) [0]
    Вопрос на понимание.
    Есть таблица и хранимая процедура в которой эта таблица используется.
    Если таблица редактируется ВНЕ этой процедуры, то без коммита
    обновления в таблице процедура не сможет увидеть?
  • Юрий Зотов © (15.11.09 11:25) [1]
    Если ХП выполняется в той же транзакции, в которой редактировалась таблица, то увидит и без коммита. Если нет, то зависит от уровня изоляции тразакции.
  • Drowsy (15.11.09 11:34) [2]
    Я сделал так:
    1. открываю транзакцию.
    2. в TIBQuery редактирую таблицу.
    3. запускаю ХП, чтобы в связанные таблицы внести изменения.
    4. закрываю транзакцию коммитом, если ХП выполнена нормально.

    пробовал разные уровни изоляции, но в ХП необновлённые данные идут
    почему-то.
  • Drowsy (15.11.09 11:54) [3]
    Ещё такой вопрос:
    Как можно в рантайме идентифицироваь текущую активную транзакцию?
    Что-нибудь типа CurrentTransaction?
  • а у ХП и TIBQuery один и тот же компонент IBTransaction?
  • Drowsy (15.11.09 14:38) [5]
    уже один. :)
    Всё получилось, спасибо.

    А можно в рантайме идентифицировать текущую активную транзакцию?
  • Drowsy (15.11.09 14:42) [6]
    ... в смысле, есть ли какой - нибудь упорядоченный "лист" активных транзакций?
  • Виталий Панасенко(дом) (15.11.09 14:50) [7]
    у ФБ да, ИБ - не знаю
  • Drowsy (15.11.09 15:24) [8]
    У меня ФБ 1.5.
  • Sergey13 © (16.11.09 08:22) [9]
    > [2] Drowsy   (15.11.09 11:34)
    > 2. в TIBQuery редактирую таблицу.
    > 3. запускаю ХП, чтобы в связанные таблицы внести изменения.

    Если именения в 3 вызваны редактированием в 2, то логично было бы п3 перенести в тригер. ИМХО.
 
Конференция "Базы" » Хранимые процедуры. InterBase6. [D6, XP]
Есть новые Нет новых   [134435   +33][b:0][p:0]