powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / что не так в этой функции?
9 сообщений из 9, страница 1 из 1
что не так в этой функции?
    #33858476
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вызываю так:
select public.TEST1(1);

дает ошибку:
ERROR: SELECT query has no destination for result data
HINT: If you want to discard the results, use PERFORM instead.
CONTEXT: PL/pgSQL function "test1" line 6 at SQL statement


CREATE OR REPLACE FUNCTION public.TEST1(uid integer)
returns varchar as
$body$
declare
uid ALIAS FOR $1;
uname VARCHAR;
begin

select uname=u_name from usernames where u_id=uid;
RETURN uname;
end;
$body$
LANGUAGE "plpgsql" VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
...
Рейтинг: 0 / 0
что не так в этой функции?
    #33858528
ZemA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE OR REPLACE FUNCTION public.TEST1(uid integer)
  returns varchar as
$body$
declare
  uid ALIAS FOR $ 1 ;
  uname VARCHAR;
begin
  uname := select u_name from usernames where u_id=uid;
  RETURN uname;
end;
$body$
LANGUAGE "plpgsql" VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

зы: пользуйся тегом [src]
...
Рейтинг: 0 / 0
что не так в этой функции?
    #33858541
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZemA
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE OR REPLACE FUNCTION public.TEST1(uid integer)
  returns varchar as
$body$
declare
  uid ALIAS FOR $ 1 ;
  uname VARCHAR;
begin
  uname := select u_name from usernames where u_id=uid;
  RETURN uname;
end;
$body$
LANGUAGE "plpgsql" VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

зы: пользуйся тегом [src]

спасибо, но эта даже не компилируется

ERROR: syntax error at or near "select" at character 9
QUERY: SELECT select u_name from usernames where u_id= $1
CONTEXT: SQL statement in PL/PgSQL function "test1" near line 5
...
Рейтинг: 0 / 0
что не так в этой функции?
    #33858673
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[src]
...
select u_name into uname from usernames where u_id=uid;
RETURN uname;
...
[src]
...
Рейтинг: 0 / 0
что не так в этой функции?
    #33858678
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, вот так лучше:

Код: plaintext
1.
2.
3.
4.
  ...
  select u_name into uname from usernames where u_id=uid;
  RETURN uname;
  ...
...
Рейтинг: 0 / 0
что не так в этой функции?
    #33858685
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если по докам (36.6.2.), то по идее должно быть так
Код: plaintext
1.
select u_name into uname from usernames where u_id=uid;
либо
Код: plaintext
1.
select into uname u_name from usernames where u_id=uid;
...
Рейтинг: 0 / 0
что не так в этой функции?
    #33858690
st_serg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не успел :)
...
Рейтинг: 0 / 0
что не так в этой функции?
    #33858958
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uname := (select u_name from usernames where u_id=uid);

кажется еще и так можно.
...
Рейтинг: 0 / 0
что не так в этой функции?
    #33859827
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, так все прошло.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / что не так в этой функции?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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