powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / merge into check integrity
10 сообщений из 10, страница 1 из 1
merge into check integrity
    #39776017
sharkoff_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день
Вставляю данные использую merge into в
иерархическую таблицу hier_table(child_id, parent_id,some_date)

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
merge into <hier_table>
using
(select 2,1,some_data from dual
union all
select 3,2,some_data2  from dual) t$src
on (hier_table.child_id=t$src.child_id)
when not matched then
  insert
<bla--bla>
when matched then
update ...



при вставке срабатывает check integrity
Можно ли как то это обойти check , сказав oracle что в using данные упорядоченные как нужно или нет ничего лучше как вставлять посредством insert
...
Рейтинг: 0 / 0
merge into check integrity
    #39776022
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharkoff_newcheckотложи проверку fk на commit
...
Рейтинг: 0 / 0
merge into check integrity
    #39776037
sharkoff_new
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-sharkoff_newcheckотложи проверку fk на commit

Похоже так и придется сделать. Спасибо!
Более других методик нет?
...
Рейтинг: 0 / 0
merge into check integrity
    #39776039
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sharkoff_new-2-пропущено...
отложи проверку fk на commit

Похоже так и придется сделать. Спасибо!
Более других методик нет? Вставлять пустышки, потом апдейтить. Отложенное ограничение может выстрелить в другом месте, если приложение использует эти таблицы
...
Рейтинг: 0 / 0
merge into check integrity
    #39776050
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oragrafесли приложение использует эти таблицыГлубокомысленное заявление. Приведи пример, когда возможность отложить констрейнт требует изменение кода.
...
Рейтинг: 0 / 0
merge into check integrity
    #39776094
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Приведи пример, когда возможность отложить констрейнт требует изменение кода.Да легко вообщем-то: если в приложение есть плохое место, где мы знаем что вылетают ошибки связанные с констрейнами, то перед этим местом мы можем сбросить в базу все что можно, а в критическом участке кода проигнорировать ошибку, а в случае deferred так уже нельзя сделать.
...
Рейтинг: 0 / 0
merge into check integrity
    #39776096
oragraf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-,

Когда через savepointы обрабатываешь поштучно 3 часа, все пучком, потом - коммит. Но что то пошло не так где то в середине.)
...
Рейтинг: 0 / 0
merge into check integrity
    #39776117
MazoHist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oragraf-2-,

Когда через savepointы обрабатываешь поштучно 3 часа, все пучком, потом - коммит. Но что то пошло не так где то в середине.)
Код: plaintext
deferrable initially immediate 
зачем придумали? сделал в своей сессии set constraint FK_XXX deferred и вставляй , остальные ничего не заметят.
...
Рейтинг: 0 / 0
merge into check integrity
    #39776125
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MazoHist
Код: plaintext
deferrable initially immediate 
зачем придумали? сделал в своей сессии set constraint FK_XXX deferred и вставляй , остальные ничего не заметят."код" же нужно менять, не?
...
Рейтинг: 0 / 0
merge into check integrity
    #39776152
MazoHist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов"код" же нужно менять, не?
Только свой новый. Если речь про
авторесли в приложение есть плохое место, где мы знаем что вылетают ошибки связанные с констрейнами, то перед этим местом мы можем сбросить в базу все что можно, а в критическом участке кода проигнорировать ошибку, а в случае deferred так уже нельзя сделать.
то не придется.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / merge into check integrity
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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