Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / немедленный выход из функции возвращающая множество / 8 сообщений из 8, страница 1 из 1
11.02.2018, 23:44
    #39600329
ambasador
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
немедленный выход из функции возвращающая множество
Всем привет!
Есть функция, которая определена следующим образом:
Код: plsql
1.
2.
3.
4.
5.
create function getfoo() returns setof foobar as $$
begin
    -- body
end
$$ language plpgsql;


Это функция возвращает таблицу foobar, как видно выше. Мне нужно чтобы по определенному условию эта функция возвращала пустую таблицу, ну например вот такое условие и выход:
Код: plsql
1.
2.
3.
if true is false then
    return query select * from foobar;
end if;


Но выход из функции не происходит, заходил на https://www.postgresql.org/docs/8.4/static/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING, но ничего не нашел, а может просто НУЛЛ возвращать?
Вобщем подскажите как корректно обрабатывать такой кейс.
...
Рейтинг: 0 / 0
11.02.2018, 23:50
    #39600330
ambasador
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
немедленный выход из функции возвращающая множество
Извините за неточность там в условии нужно чтобы было труе:
Код: plsql
1.
2.
3.
if true is true then
    return query select * from foobar;
end if;


Вопрос актуален!
...
Рейтинг: 0 / 0
12.02.2018, 00:13
    #39600334
vyegorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
немедленный выход из функции возвращающая множество
ambasador,

Добавьте ещё один `RETURN;` для явного выхода из функции.
...
Рейтинг: 0 / 0
12.02.2018, 01:53
    #39600352
ambasador
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
немедленный выход из функции возвращающая множество
vyegorovambasador,
Действительно, по вторму return - выход из функции. Благодарю за решение!
...
Рейтинг: 0 / 0
12.02.2018, 10:23
    #39600435
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
немедленный выход из функции возвращающая множество
ambasadorзаходил на https://www.postgresql.org/docs/8.4/static/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING, но ничего не нашел
RETURN NEXT and RETURN QUERY do not actually return from the function
A final RETURN, which should have no argument, causes control to exit the function
...
Рейтинг: 0 / 0
12.02.2018, 18:02
    #39600747
ambasador
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
немедленный выход из функции возвращающая множество
Melkijambasadorзаходил на https://www.postgresql.org/docs/8.4/static/plpgsql-control-structures.html#PLPGSQL-STATEMENTS-RETURNING, но ничего не нашел
RETURN NEXT and RETURN QUERY do not actually return from the function
A final RETURN, which should have no argument, causes control to exit the function
Ну может плохо искал )
...
Рейтинг: 0 / 0
13.02.2018, 10:56
    #39600993
Melkij
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
немедленный выход из функции возвращающая множество
ambasador,
скорее не читали раздел, на который сами же сослались. Об этом написано прямым текстом дважды в первых же двух абзацах про RETURN QUERY
...
Рейтинг: 0 / 0
13.02.2018, 11:51
    #39601031
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
немедленный выход из функции возвращающая множество
Melkijambasador,
скорее не читали раздел, на который сами же сослались. Об этом написано прямым текстом дважды в первых же двух абзацах про RETURN QUERY

варианты:
1. прочитать по ссылке
2. задать вопрос, добавить ссылку и подождать. кто-то да должен прочитать, у кого нервы сдадут
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / немедленный выход из функции возвращающая множество / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]