powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Return Next, почему
13 сообщений из 13, страница 1 из 1
Return Next, почему
    #33563621
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.
Скажите неужели только циклом

FOR var
IN EXECUTE query
return next var;
Loop
End Loop;
return;

можно выводить записи Select, используя
функции.

Может можно как-то сразу и без цикла?
...
Рейтинг: 0 / 0
Return Next, почему
    #33564319
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как Вы себе это представляете? и что значит сразу? и куда надо их выводить?
...
Рейтинг: 0 / 0
Return Next, почему
    #33564348
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот например в MS SQL Server, в функции достаточно просто написать запрос SQL любой сложности, без циклов и выполнив функцию можно просто получить набор записей.

А в Постгрес мало того что сначала выполняется Select, выгружая данные в оперативную память, так потом еще циклом проходится по всем выбраным записям.

Я уже молчу если мне нужно будет вывести 1 000 000 000 записей.

Не подумайте, я не в коем случае не критикую Постгрес.

Просто мне интересно может все таки можно решить проблему каким - либо другим способом, т.е. не использовать цикл.
...
Рейтинг: 0 / 0
Return Next, почему
    #33564376
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АналитикНу вот например в MS SQL Server, в функции достаточно просто написать запрос SQL любой сложности, без циклов и выполнив функцию можно просто получить набор записей.
куда получить? как к ним обращаться?

АналитикЯ уже молчу если мне нужно будет вывести 1 000 000 000 записей.
это никогда никому не понадобится

Вы получаете грубо говоря ссылку на структуру в памяти а луп нужен чтоб по ней пробежаться
...
Рейтинг: 0 / 0
Return Next, почему
    #33564404
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос по прежнему открыт.
Какие еще могут быть варианты вывода записей через функцию?
...
Рейтинг: 0 / 0
Return Next, почему
    #33564415
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин как же так можно криво задавать вопросы Анал итик?

http://www.postgresql.org/docs/8.0/interactive/xfunc-sql.html#AEN29570
можно например так

и например можно читать документацию
...
Рейтинг: 0 / 0
Return Next, почему
    #33564417
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да кстати еще можно вьюхи делать
...
Рейтинг: 0 / 0
Return Next, почему
    #33564600
Andrey Daeron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АналитикДоброго времени суток.
Скажите неужели только циклом

FOR var
IN EXECUTE query
return next var;
Loop
End Loop;
return;

можно выводить записи Select, используя
функции.

Может можно как-то сразу и без цикла?
Еще можно выгнать во временную таблицу. Недавно это тут обсуждалось и вроде как было признано аналогом MS SQL'ных подходов.

http://www.sql.ru/forum/actualthread.aspx?tid=257046&hl=ms+sql
...
Рейтинг: 0 / 0
Return Next, почему
    #33564915
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
...
Рейтинг: 0 / 0
Return Next, почему
    #33564916
Аналитик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vfabrблин как же так можно криво задавать вопросы Анал итик?


Вопрс был поставлен корректно. Главное уметь его правильно прочитать.
...
Рейтинг: 0 / 0
Return Next, почему
    #33564931
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос поставлен по уродски
...
Рейтинг: 0 / 0
Return Next, почему
    #33565021
ZemA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аналитик пишет:
> Доброго времени суток.
> Скажите неужели только циклом
>
> FOR var
> IN EXECUTE query
> return next var;
> Loop
> End Loop;
> return;
>
> можно выводить записи Select, используя
> функции.
>
> Может можно как-то сразу и без цикла?
> Тема <http://www.sql.ru/forum/actualthread.aspx?tid=265549> Ответить
> <http://www.sql.ru/forum/actualpost.aspx?tid=265549>
>
create table t (v int4 primary key);

insert into t values (1);
insert into t values (2);
insert into t values (3);

create function f()
returns setof t as
'
select * from t;
'
language sql;

select * from f();
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Return Next, почему
    #33566604
фффф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Return Next, почему
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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