У меня есть несколько оракулов, которые я портирую. Сегодня я наткнулся на этот код, который выглядит как «процедурный» язык, но не объявлен в функции или чем-то еще ... Мой вопрос: может ли Postgres обрабатывать это в этой форме? В какой форме это должно быть?
DECLARE
BEGIN
IF :start_time IS NULL OR
:start_date IS NULL OR
:end_time IS NULL OR
:end_date IS NULL THEN
INSERT INTO ARPSPACE_AVAILABILITY
(ARP_ARPSPACE_NM, ASA_TIME_ID, ASA_START_DT, ASA_END_DT)
SELECT :arpspace_name,
1,
ASP.ASP_START_DT,
ASP.ASP_STOP_DT
FROM ASP
WHERE EXISTS
(SELECT ARP.ARP_ARPSPACE_NM
FROM ARPSPACE ARP
WHERE ARP.ARP_ARPSPACE_NM = :arpspace_name);
END IF;
END;