powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / select из процедуры?
9 сообщений из 9, страница 1 из 1
select из процедуры?
    #39802761
sergnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть возможность типа :
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
create or replace function f_test(p1 integer)
 returns table(o1 integer, o2 integer,o3 integer,) as
 $code$
    select o1,o2,o3
                   from my_table
                  where prm=p1
 $code$
 language sql


А потом :
Код: plsql
1.
select * from f_test(1);



Всё отлично.
А есть ли вариант аналогично использовать именно не функцию а процедуру?
Не надо спрашивать зачем.
Просто пытаемся перейти с другой БД. А там используются именно процедуры.
И разбираться какую процедуру нужно вызывать через CALL а из какой делать SELECT очень утомительно.
...
Рейтинг: 0 / 0
select из процедуры?
    #39802972
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergnnЕсть возможность типа :
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
create or replace function f_test(p1 integer)
 returns table(o1 integer, o2 integer,o3 integer,) as
 $code$
    select o1,o2,o3
                   from my_table
                  where prm=p1
 $code$
 language sql


А потом :
Код: plsql
1.
select * from f_test(1);



Всё отлично.
А есть ли вариант аналогично использовать именно не функцию а процедуру?
Не надо спрашивать зачем.
Просто пытаемся перейти с другой БД. А там используются именно процедуры.
И разбираться какую процедуру нужно вызывать через CALL а из какой делать SELECT очень утомительно.

не спрашиваю зачем, а нафига?

шара не пройдет, переделывайте в функции, это другой мир
...
Рейтинг: 0 / 0
select из процедуры?
    #39802984
sergnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин,

Нафига? переходим из Sybase ASA, а там реализован именно select из процедуры
Так вот, когда этих процедур в приложении несколько сотен, то каждый раз мучительно вспоминать, что там и как она применяется....

Ну это так, крик души.
В общем по документации и экспериментам я и сам уже пришёл к такому же выводу.
Только теплилась надежда - а вдруг...
...
Рейтинг: 0 / 0
select из процедуры?
    #39803002
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergnnРолг Хупин,

Нафига? переходим из Sybase ASA, а там реализован именно select из процедуры
Так вот, когда этих процедур в приложении несколько сотен, то каждый раз мучительно вспоминать, что там и как она применяется....

Ну это так, крик души.
В общем по документации и экспериментам я и сам уже пришёл к такому же выводу.
Только теплилась надежда - а вдруг...

А чем по вашему отличаются процедуры и функции в контексте ваших задач?
И почему нельзя процедуры Sybase переделать на функции postgresql ?
...
Рейтинг: 0 / 0
select из процедуры?
    #39803158
sergnn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxim Boguk,

Можно. Но если в SYBASE процедуру можно вызвать как с помощью CALL, так и через SELECT.
Понимаю, что это изврат, но у нас написана уже куча кода.
А теперь надо переписывать с оглядкой, что и как вызывается в коде.
В этом и печаль.
...
Рейтинг: 0 / 0
select из процедуры?
    #39803160
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergnnРолг Хупин,

Нафига? переходим из Sybase ASA, а там реализован именно select из процедуры
Так вот, когда этих процедур в приложении несколько сотен, то каждый раз мучительно вспоминать, что там и как она применяется....

Ну это так, крик души.
В общем по документации и экспериментам я и сам уже пришёл к такому же выводу.
Только теплилась надежда - а вдруг...

ключевые слова - шара не пройдет.
Я делал миграцию баз SQLServer -> PostgreSQL, все процедуры надо переписывать в функции, кроме того, все триггеры надо переделывать и т.д. так что - дерзайте
...
Рейтинг: 0 / 0
select из процедуры?
    #39803484
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergnnМожно. Но если в SYBASE процедуру можно вызвать как с помощью CALL, так и через SELECT.


Но и в постгресе функцию можно вызвать через PERFORM, так и через SELECT.
Не говоря уже про CALL для ХП в пеже одиннадцатом.
...
Рейтинг: 0 / 0
select из процедуры?
    #39803503
Melkij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HawkmoonНо и в постгресе функцию можно вызвать через PERFORM, так и через SELECT.
PERFORM в pl/pgsql это именно SELECT, только выбрасывающий результат в /dev/null
И оба они могут вызывать только функции.

HawkmoonНе говоря уже про CALL для ХП в пеже одиннадцатом.
А вот как раз "говоря".
CALL - это про процедуры. И они весьма сознательно отделены от функций. Не получится вызвать функцию через CALL, так и процедуру из select не вызвать. И это разграничено специально.
...
Рейтинг: 0 / 0
select из процедуры?
    #39804643
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MelkijHawkmoonНо и в постгресе функцию можно вызвать через PERFORM, так и через SELECT.
PERFORM в pl/pgsql это именно SELECT, только выбрасывающий результат в /dev/null
И оба они могут вызывать только функции.

Я писал в контексте запроса автора
"в SYBASE процедуру можно вызвать как с помощью CALL, так и через SELECT."
и указал ближайший аналог в PG.
Автору важна портабельность, а не "отбрасывает/не отбрасывает". Про управление траназкциями и именно ХП (в терминах PG 11) он не заикался.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / select из процедуры?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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