Отложенное ограничение проверки в PostgreSQL
У меня есть функция проверки обязательного участия следующим образом:
CREATE FUNCTION member_in_has_address()
RETURNS BOOLEAN AS $
BEGIN
RETURN EXISTS (SELECT *
FROM address a, member_details b
WHERE b.member_id = a.member_id);
END;
$ LANGUAGE plpgsql;
Затем вызывается из ограничения CHECK
ALTER TABLE member_details
ADD CONSTRAINT member_in_has_address_check
CHECK (member_in_has_address());
Чтобы создать уязвимое ограничение в стандартном SQL, это будет:
ALTER TABLE member_details
ADD CONSTRAINT member_in_has_address_check
INITIALLY DEFERRED
CHECK (member_in_has_address());
Как я могу сделать то же самое в PostgreSQL?