Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 pl/pgsql Табличные функции  [new]
Jack963
Member

Откуда:
Сообщений: 10
здравствуйте, я только начала изучать pl/pgsql.
такой вопрос как написать функцию с использованием двух и более таблиц? Может посоветуете хороший учебник с примерами
Здесь вероятнее всего много ошибок, но примеров на pl/pgsql очень мало
CREATE OR REPLACE FUNCTION inform2(act_id integer)
RETURNS void AS $$
BEGIN
SELECT f1.actor_id, f2.tytle
FROM film_actor f1 join film f2
on(f1.film_id=f2.film_id)
WHERE f1.actor_id=act_id;
RETURN;
END;
$$ LANGUAGE plpgsql;
28 июн 20, 18:06    [22158633]     Ответить | Цитировать Сообщить модератору
 Re: pl/pgsql Табличные функции  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3663
Jack963
здравствуйте, я только начала изучать pl/pgsql.
такой вопрос как написать функцию с использованием двух и более таблиц? Может посоветуете хороший учебник с примерами
Здесь вероятнее всего много ошибок, но примеров на pl/pgsql очень мало
CREATE OR REPLACE FUNCTION inform2(act_id integer)
RETURNS void AS $$
BEGIN
SELECT f1.actor_id, f2.tytle
FROM film_actor f1 join film f2
on(f1.film_id=f2.film_id)
WHERE f1.actor_id=act_id;
RETURN;
END;
$$ LANGUAGE plpgsql;


что не устраивает в вашей функции?
28 июн 20, 18:40    [22158644]     Ответить | Цитировать Сообщить модератору
 Re: pl/pgsql Табличные функции  [new]
Jack963
Member

Откуда:
Сообщений: 10
Ролг Хупин,
Когда я ее вызываю, пишет:
ERROR: ОШИБКА: в запросе нет назначения для данных результата
HINT: Если вам нужно отбросить результаты SELECT, используйте PERFORM.
CONTEXT: функция PL/pgSQL inform2(integer), строка 3, оператор SQL-оператор
29 июн 20, 21:58    [22159273]     Ответить | Цитировать Сообщить модератору
 Re: pl/pgsql Табличные функции  [new]
Jack963
Member

Откуда:
Сообщений: 10
Ролг Хупин,

Также читала в документации про ROWS FROM, не совсем поняла как его использовать...
29 июн 20, 23:04    [22159304]     Ответить | Цитировать Сообщить модератору
 Re: pl/pgsql Табличные функции  [new]
Алексей Роза
Member

Откуда: РФ
Сообщений: 372
https://www.google.com/search?q=HINT:Если вам нужно отбросить результаты SELECT, используйте PERFORM
https://postgrespro.ru/docs/postgrespro/12/plpgsql-statements#PLPGSQL-STATEMENTS-SQL-NORESULT

Сообщение было отредактировано: 30 июн 20, 09:18
30 июн 20, 09:17    [22159443]     Ответить | Цитировать Сообщить модератору
 Re: pl/pgsql Табличные функции  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3663
Jack963
Ролг Хупин,
Когда я ее вызываю, пишет:
ERROR: ОШИБКА: в запросе нет назначения для данных результата
HINT: Если вам нужно отбросить результаты SELECT, используйте PERFORM.
CONTEXT: функция PL/pgSQL inform2(integer), строка 3, оператор SQL-оператор


ну, вот, уже ближе к телу (ничево личьново )

Делайте, как сервер подсказывает
30 июн 20, 16:42    [22159825]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить