Ошибка синтаксиса при создании триггера на копирование данных со второй в третью таблицу
Существует БД данной структуры:

Необходимо написать триггерную функцию, которая при создании нового контракта(contract) добавляет запись покупателя(buyer) в таблицу владельца(owner).
Такой код триггера pgAdmin не принимает, ссылаясь на ошибку синтаксиса в районе INSERT:
CREATE OR REPLACE FUNCTION after_contract() RETURNS TRIGGER AS $BODY$
BEGIN
INSERT INTO public.owner(owner_id,owner_name, passport_num, owner_phone_num)
VALUES((SELECT nextval(owner.owner_id)),
(SELECT(buyer.buyer_name FROM public.buyer WHERE buyer.buyer_id = new.contract.buyer_id)),
(SELECT(buyer.buyer_passport_num FROM public.buyer WHERE buyer.buyer_id = new.contract.buyer_id)),
(SELECT(buyer.buyer_phone_num FROM public.buyer WHERE buyer.buyer_id = new.contract.buyer_id)));
RETURN new;
END;
$BODY$
language plpgsql;
Подскажите, пожалуйста, в какую сторону копать?