powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / неоднозначная ссылка на колонку
4 сообщений из 4, страница 1 из 1
неоднозначная ссылка на колонку
    #39318827
fobster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу передать id списком в запрос с помощью функции:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE FUNCTION accounts.groups_users(id uuid) 
RETURNS table(user_id uuid, group_name character varying(64)) as $$
BEGIN
  RETURN QUERY select users.login,groups.name from accounts.groups_users
  INNER JOIN accounts.users on accounts.groups_users.user_id=accounts.users.id
INNER JOIN accounts.groups on accounts.groups_users.group_id=accounts.groups.id
WHERE accounts.users.id in(id)
ORDER BY users.login;
END
$$ LANGUAGE plpgsql;


ОШИБКА: неоднозначная ссылка на колонку "id"
как исправить ошибку?
...
Рейтинг: 0 / 0
неоднозначная ссылка на колонку
    #39318843
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fobsterХочу передать id списком в запрос с помощью функции:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE FUNCTION accounts.groups_users(id uuid) 
RETURNS table(user_id uuid, group_name character varying(64)) as $$
BEGIN
  RETURN QUERY select users.login,groups.name from accounts.groups_users
  INNER JOIN accounts.users on accounts.groups_users.user_id=accounts.users.id
INNER JOIN accounts.groups on accounts.groups_users.group_id=accounts.groups.id
WHERE accounts.users.id in(id)
ORDER BY users.login;
END
$$ LANGUAGE plpgsql;


ОШИБКА: неоднозначная ссылка на колонку "id"
как исправить ошибку?

заменив (id uuid) на (_id uuid) и
accounts.users.id in(id) на accounts.users.id=_id

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
неоднозначная ссылка на колонку
    #39318852
fobster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
исправила:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE FUNCTION accounts.groups_users(_id uuid) 
RETURNS table(user_login character varying(32), group_name character varying(64)) as $$
BEGIN
  RETURN QUERY select users.login,groups.name from accounts.groups_users
  inner join accounts.users on accounts.groups_users.user_id=accounts.users.id
inner join accounts.groups on accounts.groups_users.group_id=accounts.groups.id
WHERE accounts.users.id=(_id);
END
$$ LANGUAGE plpgsql;



запускаю функцию:
Код: sql
1.
SELECT accounts.groups_users('87158a34-704c-11e6-b688-ebdae2d335e5','87158a34-704c-11e6-b688-ebdae2d335e5')



ОШИБКА: функция accounts.groups_users(unknown, unknown) не существует
LINE 1: SELECT accounts.groups_users('87158a34-704c-11e6-b688-ebdae...
^
HINT: Функция с данными именем и типами аргументов не найдена. Возможно, вам следует добавить явные приведения типов.

********** Ошибка **********
...
Рейтинг: 0 / 0
неоднозначная ссылка на колонку
    #39318856
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fobsterисправила:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE FUNCTION accounts.groups_users(_id uuid) 
RETURNS table(user_login character varying(32), group_name character varying(64)) as $$
BEGIN
  RETURN QUERY select users.login,groups.name from accounts.groups_users
  inner join accounts.users on accounts.groups_users.user_id=accounts.users.id
inner join accounts.groups on accounts.groups_users.group_id=accounts.groups.id
WHERE accounts.users.id=(_id);
END
$$ LANGUAGE plpgsql;



запускаю функцию:
Код: sql
1.
SELECT accounts.groups_users('87158a34-704c-11e6-b688-ebdae2d335e5','87158a34-704c-11e6-b688-ebdae2d335e5')



ОШИБКА: функция accounts.groups_users(unknown, unknown) не существует
LINE 1: SELECT accounts.groups_users('87158a34-704c-11e6-b688-ebdae...
^
HINT: Функция с данными именем и типами аргументов не найдена. Возможно, вам следует добавить явные приведения типов.

********** Ошибка **********

читать документацию до просветления
этот вопрос может быть задан только человеком который в принципе не читал
https://www.postgresql.org/docs/9.5/static/plpgsql.html


--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / неоднозначная ссылка на колонку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]