Я посмотрел бы на noscript. Также люди поджигателя (Джон barton, я думаю, является именем парня) являются очень быстро реагирующими поэтому, если Вы хотите функцию, отправляют его на группе Google или средстве отслеживания ошибки/улучшения. Я не думаю, что это в настоящее время имеет эту функцию, но проверьте 1,4 ответвления (в настоящее время в Alpha), это могло бы (никакая идея) содержат что-то вроде этого.
Это не функция, которая возвращает значение, это SELECT
, который вы использовали чтобы назвать это. Если он не возвращает ни одной строки, он не запускает вашу функцию.
Вы можете добиться «ничего не возвращается», злоупотребляя функциями, возвращающими набор:
Простая функция:
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
Параметры не имеют значения, но:
А теперь вы можете:
# select * from x();
o1 | o2
----+----
(0 rows)
У вас все в порядке. Больше ничего добавлять не нужно.
Результат строки равен нулю, так что это пустой возврат.
Я не думаю, что вы что-то можете с этим поделать. Проверяю мои функции void, все они такие же, как и ваши.
возвращает void как $$ и не возвращает оператор возврата в блоке кода.