kan3k1k3n
@kan3k1k3n

Почему не работает хранимая процедура?

у меня есть процедура:
CREATE OR REPLACE PROCEDURE public.get_all_data(tv_channel1 TEXT)
    LANGUAGE plpgsql
AS $$
BEGIN
    EXECUTE 'SELECT * FROM ' || tv_channel1;
END;
$$;

я вызываю эту функцию, но она ничего не возвращает (данные не показываются).
таблица tv_channel1 содержит поля: id integer, name character, broadcast_type_id integer, public_flag_id integer
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
но она ничего не возвращает (данные не показываются)

давайте начнём с простого "а почему должно?". Где в мануале вы это вычитали? В том самом мануале, где написано, что процедуры в отличии от функций ничего не возвращают сами по себе и вовсе не имеют returning?

Вам нужна функция, а не процедура.

Ну а вообще, очень вероятно, что переосмыслить дизайн схемы и привести в нормальную форму, а не функция.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы