powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как работает delete в конструкции merge?
7 сообщений из 7, страница 1 из 1
Как работает delete в конструкции merge?
    #39986404
bhr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bhr
Гость
Код: plsql
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.
31.
32.
33.
34.
35.
36.
37.
create table a_bba_tst
as 
select 1 id, 0 col1 from dual
union all 
select 2 id, 0 col1 from dual
union all 
select 3 id, 0 col1 from dual
union all 
select 4 id, 0 col1 from dual;
---
create table b_bba_tst
as 
select 1 id, 1 del_flg from dual
union all 
select 2 id, 1 del_flg from dual
union all 
select 3 id, 1 del_flg from dual
union all 
select 4 id, 1 del_flg from dual;
--------------
merge into a_bba_tst a
using 
  (select *
     from b_bba_tst) u
 on (u.id = a.id)
when matched then 
  update set a.col1 = u.id 
     where u.del_flg = 0
  delete 
     where u.del_flg = 1;
     
select * from a_bba_tst;
ID	COL1
1	0
2	0
3	0
4	0


Ни одной строки не удалилось.
Что я делаю не так?
...
Рейтинг: 0 / 0
Как работает delete в конструкции merge?
    #39986410
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bhrНи одной строки не удалилось.

Так они удаляются из b_bba_test.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как работает delete в конструкции merge?
    #39986416
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Так они удаляются из b_bba_test.


Шутить изволите????

bhr:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
merge into a_bba_tst a
using
  (select *
     from b_bba_tst) u
 on (u.id = a.id)
when matched then
  update set a.col1 = u.id
--     where u.del_flg = 0
  delete
     where u.del_flg = 1
/



SY.
...
Рейтинг: 0 / 0
Как работает delete в конструкции merge?
    #39986418
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY
Шутить изволите????

Нет, всего лишь в маразм впадать.
...
Рейтинг: 0 / 0
Как работает delete в конструкции merge?
    #39986419
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как работает delete в конструкции merge?
    #39986424
bhr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bhr
Гость
ой... спасибо. помогло. вернее, в данном тестовом примере помогло.
а вот в оригинальных таблицах вызвало ошибку "ora-08006 - заданной строки больше не существует"
ааа.... ясно - у меня дубли строк в целевой таблице.
...
Рейтинг: 0 / 0
Как работает delete в конструкции merge?
    #39986435
bhr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bhr
Гость
Elic

наблюдаю бурю эмоций в теме. и впрямь нелогично устроено.
Причем, один из участников дискуссии - коллега, сидящий за соседним столом.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как работает delete в конструкции merge?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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