powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запись во временную таблицу из читающей транзакции
4 сообщений из 4, страница 1 из 1
Запись во временную таблицу из читающей транзакции
    #39731719
Polesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.

FB 2.5.8 CS, компоненты доступа FIB+.

Параметры транзакции:
Код: powershell
1.
2.
3.
4.
read
nowait
rec_version
read_committed



В БД есть связка: таблица - процедура - вью
вью селектит из процедуры, процедура пишет в таблицу.
Скрипт под спойлером:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
create table T (
    ID  integer
);

set term ^ ;

create procedure P
returns (
   ID integer )
as
begin
  insert into T ( ID ) values ( 1 );

  select ID
    from T
    into :ID;

  suspend;

  delete from T;
end ^

set term ; ^

create or alter view V (
    ID )
as
select ID
  from P
;



Если в клиентском приложении попытаться сделать выборку из вью, получаем ошибку:
Код: powershell
1.
2.
3.
4.
Project Project4.exe raised exception class EFIBInterBaseError with message 'Form7.ds.SelectQuery:
The INSERT, UPDATE, DELETE, DDL or authorization statement cannot be executed because the transaction is inquiry only.
Attempted update during read-only transaction.
At procedure 'P' line: 6, col: 3.



Если таблицу поменять на временную,
Код: sql
1.
2.
3.
create global temporary table T (
    ID  integer
) on commit preserve rows;

то ошибки нет, запись в таблицу в рамках читающей транзакции производится.

Это так и должно быть?

С уважением, Polesov.
...
Рейтинг: 0 / 0
Запись во временную таблицу из читающей транзакции
    #39731723
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PolesovЭто так и должно быть?Да
...
Рейтинг: 0 / 0
Запись во временную таблицу из читающей транзакции
    #39731728
Polesov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad, спасибо
...
Рейтинг: 0 / 0
Запись во временную таблицу из читающей транзакции
    #39733147
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Запись во временную таблицу из читающей транзакции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]