Я новичок в postgres и программировании, и я уже искал решение для этого, но я не смог его получить. Я пытаюсь сделать функцию, которая будет возвращать информацию обо всех клиентах в этой конкретной стране всякий раз, когда я звоню в страну. Это ошибка, которая появляется. Мне очень жаль просить об этом, но я застрял здесь со вчерашнего дня.POSTGRESQL-Query не имеет адресата для данных результата
ERROR: query has no destination for result data
HINT: If you want to discard the results of a SELECT, use PERFORM instead.
CONTEXT: PL/pgSQL function country(text) line 5 at SQL statement
Вот функция:
create or replace function country(text) returns text as $$
begin
select customer_id, customer.first_name, customer.last_name
from customer
inner join address on customer.address_id = address.address_id
inner join city on address.city_id = city.city_id
inner join country on city.country_id = country.country_id
where country = '$1';
end;
$$
language plpgsql;
Вы запрашиваете, но не возвращаете ничего из proc. Как насчет использования 'language sql', как показано в примерах здесь: https://www.postgresql.org/docs/9.2/static/xfunc-sql.html – Glenn
Я изменил его на sql, и это вызывает ошибку ERROR: синтаксис при или рядом «выберите» ЛИНИЯ 5: выберите customer_id, customer.first_name, customer.last_name ^ im действительно запутано – kimdasuncion12
Посмотрите внимательно на примеры. В 35.4.4 приведены примеры, соответствующие вашему сценарию. Сначала вы можете попробовать запустить их, а затем перейти к тому, что хотите. Обратите внимание, что версия 'language sql' в примере не имеет' begin' или 'end' и имеет параметры' out'. – Glenn