Ты всерьез думаешь, что твое присвоение в NEW.ID как-то изменяет вьюху?
Не понял тебя.Я это делаю потому что без этого если запись во вью вставляется другим INSERT RETURNNING, то в RETURNING попадает нулл... И только для этого.
Ты вообще не понимаешь, как работают триггеры на вью. В них таблицу можно обновлять *только* через insert/update/delete. Поэтому BEFORE = AFTER.
С чего ты решил что я этого не понимаю? А как это можно иначе понимать вобще?

