Мне нужно создать хранимую процедуру, которая обрабатывает таблицу, ищущую соответствие строк по определенному идентификатору с разными статусами.
Я знаю синтаксис, чтобы получить данные о строках, но я никогда не пробовал сравнивать 2 строки из той же таблицы раньше? Как это делается? Нужно ли мне использовать переменные для хранения данных от каждого? Или каким-то другим способом?Как сравнить 2 строки из одной таблицы (Oracle 11g)
Этот вопрос является на основе этого one, но на Oracle с некоторыми изменениями:
Сначала одна эта таблица может иметь или не иметь многие ко многим, многие к одному, один ко многим отношений с другими таблицами.
Edit 1:
Таблица выглядит следующим образом:
create table Test(
id char32 not null,
column1 varchar2(2048),
column2 varchar2(2048),
...
column30 varchar2(2048) )
Любое различие в любом столбце приведет их отличаться от других. Сохраненная процедура возвращает только истину или ложь, если они идентичны или нет.
@ Fioradu88 - Что ваша таблица выглядит? Каков результат, который вы пытаетесь получить? Вам просто нужен список значений «ID», которые несколько раз появляются в таблице с разными статусами? Вы также хотите получить статусы? Вы хотите получить другие столбцы? Как бы выглядел результирующий набор, если определенный 'ID' существовал с 5 различными статусами или 10 различными статусами? –
Итак, вы хотите сохранить хранимую функцию, которая принимает идентификатор и возвращает TRUE, если в таблице есть две или несколько строк с одинаковым идентификатором, которые не идентичны и FALSE в противном случае? –
Да, это то, чего я хочу. –