Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 ОШИБКА: в запросе нет назначения для данных результата  [new]
Cola
Member

Откуда:
Сообщений: 425
Это не функция. а запрос с использованием PLSQL.
Что не так, подскажите - плииз.

do $$
  DECLARE cnt INTEGER :=30;
BEGIN
  cnt:=50;
  Select cnt;
END $$;

Всем за ранее благодарна.
21 фев 21, 15:44    [22284420]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4571
Cola,

А что значит "запрос с использованием PLSQL" и куда он должен деть результат Select cnt; ?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
21 фев 21, 16:31    [22284442]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
Cola
Member

Откуда:
Сообщений: 425
Maxim Boguk
Cola,

А что значит "запрос с использованием PLSQL" и куда он должен деть результат Select cnt; ?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


при попытках добавить RETURNS и RETURN - ошибка. Это работает только в функциях. А у меня запрос.
Как это сделать в запрос без создания функции? В Документации - пусто, только функции рассматривают.
21 фев 21, 16:35    [22284444]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4571
Cola
Maxim Boguk
Cola,

А что значит "запрос с использованием PLSQL" и куда он должен деть результат Select cnt; ?

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


при попытках добавить RETURNS и RETURN - ошибка. Это работает только в функциях. А у меня запрос.
Как это сделать в запрос без создания функции? В Документации - пусто, только функции рассматривают.


Объясните русским языком что именно вы пытаетесь сделать.



--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
21 фев 21, 16:59    [22284451]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
Cola
Member

Откуда:
Сообщений: 425
Maxim Boguk
Cola
пропущено...
при попытках добавить RETURNS и RETURN - ошибка. Это работает только в функциях. А у меня запрос.
Как это сделать в запрос без создания функции? В Документации - пусто, только функции рассматривают.


Объясните русским языком что именно вы пытаетесь сделать.
--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


У меня есть большой запрос, объединено много других запросов, которые возвращают данные в едином формате (отчет собираю). так вот есть необходимость получить результаты из объединенных запросов в виде переменных для формирования других результатов в этот же отчет.
Запрос-1 union Запрос-2 union Запрос-N union (Запрос-1 * Запрос-2/Запрос-5) и так далее.
Для переменных достаточно агрегированных значений (не требуется получать массив записей).

Вот такая задача. Она сложная, поэтому я собираю этот отчет в виде запроса, а не в виде функции. Потом из него сделаю функцию, но сейчас это неудобно - постоянно изменять ее..
21 фев 21, 17:48    [22284472]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4571
Cola
Maxim Boguk
пропущено...


Объясните русским языком что именно вы пытаетесь сделать.
--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru


У меня есть большой запрос, объединено много других запросов, которые возвращают данные в едином формате (отчет собираю). так вот есть необходимость получить результаты из объединенных запросов в виде переменных для формирования других результатов в этот же отчет.
Запрос-1 union Запрос-2 union Запрос-N union (Запрос-1 * Запрос-2/Запрос-5) и так далее.
Для переменных достаточно агрегированных значений (не требуется получать массив записей).

Вот такая задача. Она сложная, поэтому я собираю этот отчет в виде запроса, а не в виде функции. Потом из него сделаю функцию, но сейчас это неудобно - постоянно изменять ее..


DO оператор НЕ МОЖЕТ возвращать результат... никакой.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
21 фев 21, 17:56    [22284474]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
Cola
Member

Откуда:
Сообщений: 425
Maxim Boguk
Cola
пропущено...
У меня есть большой запрос, объединено много других запросов, которые возвращают данные в едином формате (отчет собираю). так вот есть необходимость получить результаты из объединенных запросов в виде переменных для формирования других результатов в этот же отчет.
Запрос-1 union Запрос-2 union Запрос-N union (Запрос-1 * Запрос-2/Запрос-5) и так далее.
Для переменных достаточно агрегированных значений (не требуется получать массив записей).

Вот такая задача. Она сложная, поэтому я собираю этот отчет в виде запроса, а не в виде функции. Потом из него сделаю функцию, но сейчас это неудобно - постоянно изменять ее..


DO оператор НЕ МОЖЕТ возвращать результат... никакой.
--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

это я и сама знаю, в этом и заключается вопрос.
21 фев 21, 20:50    [22284550]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4571
Cola
Maxim Boguk
пропущено...


DO оператор НЕ МОЖЕТ возвращать результат... никакой.
--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

это я и сама знаю, в этом и заключается вопрос.


Если вы сами знаете то зачем вопрос задаете?



--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
21 фев 21, 21:07    [22284555]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
mayton
Member

Откуда: loopback
Сообщений: 51136
Нужна функция.
21 фев 21, 21:34    [22284566]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
Cola
Member

Откуда:
Сообщений: 425
mayton
Нужна функция.

А без функции - никак?
21 фев 21, 22:10    [22284573]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
Cola
Member

Откуда:
Сообщений: 425
То есть в простых запросах нельзя использовать полноценно PL\SQL, обязательно нужно функцию в БД создавать?
21 фев 21, 22:12    [22284575]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4571
Cola
То есть в простых запросах нельзя использовать полноценно PL\SQL, обязательно нужно функцию в БД создавать?


именно так
pl/pgsql - язык для написания хранимых процедур никак не связанный напрямую с sql базы
и ничем не отличающийся от того же pl/perl или pl/v8

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
22 фев 21, 00:00    [22284599]     Ответить | Цитировать Сообщить модератору
 Re: ОШИБКА: в запросе нет назначения для данных результата  [new]
Swa111
Member

Откуда:
Сообщений: 227
Cola,

На крайний случай создавать временную функцию в pg_temp схеме, но вернуть результат сможет только функция. Если не считать извратные методы через временные таблицы или переменные среды, когда do блок побочно изменяет значение в временной таблице и следующим запросом уже читаем значение.
22 фев 21, 11:58    [22284666]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить