Вы можете добиться «ничего не возвращено», используя функции возврата набора:
Простая функция:
create function x () returns setof record as $$
begin
return;
END;
$$ language plpgsql;
Теперь вы можете:
# select x();
x
---
(0 rows)
Если у вас это не работает (извините, я использую 8.5), попробуйте следующий подход:
# create function x (OUT o1 bool, OUT o2 bool) returns setof record as $$
begin
return;
END;
$$ language plpgsql;
CREATE FUNCTION
Параметры не имеют значения, но:
- Вам нужно> 1 из них
- Они должны быть названы
А теперь вы можете:
# select * from x();
o1 | o2
----+----
(0 rows)