Я хочу создать функцию PSQL, которая возвращает результат в виде таблицы.Мое определение функции выглядит следующим образом:
create or replace function myfunc1()
returns table(id varchar(50), title varchar(50))
as $$
begin
return query select id, title from books;
end;
$$ language plpgsql;
Но когда я вызываю функцию, я получаю эту ошибку:
ОШИБКА: ссылка на столбец "id" является неоднозначной.select id, title from books ^ ДЕТАЛИ: Это может относиться либо к переменной PL / pgSQL, либо к столбцу таблицы.
Очевидно, это потому, что я использую имя столбца id в обоих возвращаемыхстол и моя таблица целей.Простейшим решением будет изменение имен столбцов.Но я здесь, чтобы искать способ, который позволил бы мне использовать имя столбца, который я хочу.Кроме того, изменение имени сделало бы мой код странным и трудным для понимания другими.