powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Условие на поиск дубликатов
3 сообщений из 3, страница 1 из 1
Условие на поиск дубликатов
    #39787024
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравтсвуйте ГУРУ, устал изобретать велосипед. Имеет 2 таблицы связанные left join по pk. Одна с основной информацией, другая (mark) для хранения меток в виде единицы.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
DECLARE
    p_id NUMBER(10);
BEGIN
    FOR i IN 1..apex_application.g_f01.count LOOP
            SELECT id
            INTO p_id
            FROM mark
            WHERE id = apex_application.g_f01(i);
            
            CASE p_id
            WHERE IS NULL THEN   
                INSERT INTO mark (id, mark)
                VALUES (apex_application.g_f01(i), 1); 
        
        END CASE;
    END LOOP;
END;


Не могу придуть, как создать условие которое бы не давало исполнить INSERT, если такая запись уже присутствует.
В apex_application.g_f01 хранится id основной таблицы.
Заранее спасибо!
...
Рейтинг: 0 / 0
Условие на поиск дубликатов
    #39787027
Migelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никита А,

MERGE
...
Рейтинг: 0 / 0
Условие на поиск дубликатов
    #39787147
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Migelle,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
BEGIN
    FOR i IN 1..apex_application.g_f01.count LOOP
        MERGE INTO mark m 
            USING 
        (SELECT id 
        FROM data_table
        WHERE id = apex_application.g_f01(i)) dt
            ON (m.id = dt.id)
        WHEN MATCHED THEN
            UPDATE SET m.mark = 1
        WHEN NOT MATCHED THEN
            INSERT (id, mark)
        VALUES (apex_application.g_f01(i), 1);
    END LOOP;
END;



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


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