Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Возможен ли select до сейвпоинта?  [new]
RumataEst
Member

Откуда:
Сообщений: 39
Собственно, сабж. Есть последовательность изменений и сэйвпоинтов
изменение1, savepoint1, изменение2, savepoint2, изменение3, savepoint3.
Можно ли как-то вытянуть данные на момент savepoint2 без отката изменения3?
19 сен 07, 15:27    [4689028]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
Barkovsky
Member

Откуда: Санкт-Петербург
Сообщений: 2655
наверное, можно как-то выкрутиться с помощью DBMS_FLASHBACK.
19 сен 07, 15:34    [4689066]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
AlexOI
Member

Откуда: Санкт-Петербург
Сообщений: 161
Barkovsky
наверное, можно как-то выкрутиться с помощью DBMS_FLASHBACK.

Мысль интересная, но неужели FLASHBACK позволит получить данные на любой момент незафиксированной транзакции. Это было бы здорово, но в такое счастье не верится.
19 сен 07, 15:55    [4689200]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
RumataEst
Member

Откуда:
Сообщений: 39
Barkovsky
наверное, можно как-то выкрутиться с помощью DBMS_FLASHBACK.

Увы
ORA-08183: Flashback cannot be enabled in the middle of a transaction
19 сен 07, 15:57    [4689215]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
Barkovsky
Member

Откуда: Санкт-Петербург
Сообщений: 2655
ну.. может, уйти от savepoint'ов?
19 сен 07, 16:02    [4689264]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
Elic
Member

Откуда:
Сообщений: 29990
RumataEst
изменение1, savepoint1, изменение2, savepoint2, изменение3, savepoint3.
Можно ли как-то вытянуть данные на момент savepoint2 без отката изменения3?
..., savepoint2, open cursor, изменение3, savepoint3, fetch cursor.
19 сен 07, 16:04    [4689289]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
RumataEst
Member

Откуда:
Сообщений: 39
Elic
RumataEst
изменение1, savepoint1, изменение2, savepoint2, изменение3, savepoint3.
Можно ли как-то вытянуть данные на момент savepoint2 без отката изменения3?
..., savepoint2, open cursor, изменение3, savepoint3, fetch cursor.

Хмм... Согласен, каков вопрос, таков ответ... :)
А при произвольном количестве изменений открывать произвольное количество курсоров? Печальный вариант.
19 сен 07, 16:13    [4689373]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
Ааз
Member

Откуда: Москва/Протвино
Сообщений: 4274
Barkovsky
наверное, можно как-то выкрутиться с помощью DBMS_FLASHBACK.
Или тупо в лоб: SELECT ... AS OF SCN|TIMESTAMP. Осталась самая малость - узнать нужный SCN ;-).

Всего
19 сен 07, 16:15    [4689388]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
Timm
Member

Откуда: Moscow, Ё-burg
Сообщений: 3696
Ааз
Barkovsky
наверное, можно как-то выкрутиться с помощью DBMS_FLASHBACK.
Или тупо в лоб: SELECT ... AS OF SCN|TIMESTAMP. Осталась самая малость - узнать нужный SCN ;-).

Всего

Не получиццо :)
19 сен 07, 16:47    [4689690]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
Ааз
Member

Откуда: Москва/Протвино
Сообщений: 4274
Timm
Ааз
Barkovsky
наверное, можно как-то выкрутиться с помощью DBMS_FLASHBACK.
Или тупо в лоб: SELECT ... AS OF SCN|TIMESTAMP. Осталась самая малость - узнать нужный SCN ;-).

Не получиццо :)
Аргументируй.

Всего
19 сен 07, 20:49    [4690880]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
Змей Равниныч
Member

Откуда: Из тридевятого царства
Сообщений: 284
Ааз
Аргументируй.
Хм... У меня тоже есть сомнения. Но пробовать лень :)
19 сен 07, 21:06    [4690908]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
Outspam
Member

Откуда:
Сообщений: 13
А чем temporary неподошла ?
19 сен 07, 21:48    [4690991]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
Timm
Member

Откуда: Moscow, Ё-burg
Сообщений: 3696
SQL>truncate table t1;

Table truncated.

SQL>
SQL>insert into t1 values (1);

1 row created.

SQL>select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
                 2290143

SQL>select * from t1 as of scn 2290143;

no rows selected

SQL>commit;

Commit complete.

SQL>select * from t1 as of scn 2290143;

no rows selected

SQL>select dbms_flashback.get_system_change_number from dual;

GET_SYSTEM_CHANGE_NUMBER
------------------------
                 2290158

SQL>select * from t1 as of scn 2290158;

        ID
----------
         1
19 сен 07, 22:01    [4691010]     Ответить | Цитировать Сообщить модератору
 Re: Возможен ли select до сейвпоинта?  [new]
Ааз
Member

Откуда: Москва/Протвино
Сообщений: 4274
Timm
SQL>truncate table t1;

Table truncated.
...
Угумс... Типо, свои (незафиксированные) данные не видим. Да. Это аргумент. Ммм... мляха.

Всего
19 сен 07, 22:46    [4691101]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить