Я получил две таблицы: aanvr_omzetten
(запросы) и klant
(клиенты)
Структура таблиц:
AANVR_OMZETTEN
VOORNAAM ACHTERNAAM GESLACHT GEBOORTEDATUM EMAIL
A John M 07-01-1990 v1@gmail.com
B Jaxk V 01-04-1965 v2@gmail.com
KLANT
NAAM ACHTERNAAM GESLACHT GEBOORTEDATUM EMAIL NATION BANKNR STUDY
A John M 07-01-1990 v1@gmail.com DUTCH 12 YES
B Jack M 01-04-1965 v2@gmail.com DUTCH 15 YES
Вот мой код:
DECLARE
v_klantnummer number;
v_rekeningnummer number;
BEGIN
-- get klantnummer and rekeningid
BEGIN
select klantnummer, rekeningid into v_klantnummer, v_rekeningid from rekening where rekeningnummer = :P501_REKENINGNR and rekeningtype = 23;
EXCEPTION
when no_data_found then
raise_application_error(-20000, 'Rekeningnummer is onbekend');
END;
-- get the information of klant X with klantnummer v_klantnummer
for i in (select voornaam, achternaam, geslacht, geboortedatum, email, postcode, huisnummer, straat, plaats, nationaliteit, burgerservicenummer
from klant where klantnummer = v_klantnummer)
loop
-- compare with other table??
--
for i in (select voornaam, achternaam, geslacht, geboortedatum, email, postcode, huisnummer, straat, plaats, nationaliteit, burgerservicenummer
from aanvr_omzetten where aanvr_omzetten = :P501_aanvr_omzettennr)
-- both tables loaded but how can i compare them?
-- ONLY if the selected attributes match
INSERT etc.
Мне не нужно сравнивать все столбцы, только столбцы в таблице в aanvr_omzetten
, потому что таблица klant
содержит все эти столбцы + дополнительные.
Первичный ключ строки в KLANT
: v_klantnummer
Первичный ключ строки в AANVR_OMZETTEN
:: P501_AANVR_OMZETTENNR
Я хочу сделать вставку, только если эти столбцы совпадают, иначе это должно вызвать ошибку.
Есть идеи, как мне это сделать?