Способ выбора столбцов с разными значениями в Oracle OCL - PullRequest
0 голосов
/ 24 июня 2019

Я разрабатываю приложение "узел / реагирование".

У меня есть три набора запросов sql.

  1. Выбрать все столбцы перед обновлением
  2. Обновить столбец
  3. Выбрать все столбцы после обновления

Как получить точную разницу в столбцах между результатами первого и третьего SQL-запросов?

(COLUMN1, COLUMN2, COLUMN3)
T1- SELECT * FROM MY_TABLE;
T2- UPDATE MY_TABLE SET COLUMN1='a' WHERE COLUMN3= 'b' FROM MY_TABLE;
T3- SELECT * FROM MY_TABLE;
T4- Difference between T3 and T1 queries (COLUMN1 should be the result)

Спасибо

1 Ответ

0 голосов
/ 24 июня 2019

Одной из очевидных альтернатив сложным функциям, специфичным для базы данных, является использование старых добрых временных отметок ...

  1. Добавьте новый столбец "LAST_MODIFIED" и измените T2 для обновления временной отметки
  2. T4-> выберите строки, метка времени которых была обновлена ​​

Другое очевидное решение - запросить те записи, которые не имеют правильного значения (COLUMN3 = 'b') перед запуском обновления, сохранитеэтот набор результатов во временной таблице в базе данных или в памяти, в зависимости от ваших конкретных требований, этот набор результатов используется для последующего запуска обновления и окончательного отчета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...