powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / есть функция - не могу выполнить :-(
5 сообщений из 5, страница 1 из 1
есть функция - не могу выполнить :-(
    #33869100
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
выполняю так:
select GetRestrictedDescriptors(0,'1111');
пишет:
ERROR: function getrestricteddescriptors(integer, "unknown") does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type casts.


???


Вот сама скомпилированная функция:

CREATE OR REPLACE FUNCTION "public"."GetRestrictedDescriptors" (bRestrictedGroups INTEGER, role_name VARCHAR) RETURNS SETOF "public"."uuid" AS
$body$
BEGIN
IF bRestrictedGroups = 0
THEN
begin
if role_name is null then
--insert into @out(descriptor_id)
select distinct descriptor_id from dbo.role_descr_restriction r
inner join dbo.user_roles u
on u.name=r.role_name;
else
-- --insert into @out(descriptor_id)
select distinct descriptor_id from dbo.role_descr_restriction
where role_name=@role_name;
end if;
end;
END IF;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
...
Рейтинг: 0 / 0
есть функция - не могу выполнить :-(
    #33869275
4321
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuhвыполняю так:
select GetRestrictedDescriptors(0,'1111');
пишет:
ERROR: function getrestricteddescriptors(integer, "unknown") does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type casts.


???


Вот сама скомпилированная функция:

CREATE OR REPLACE FUNCTION "public"."GetRestrictedDescriptors" (bRestrictedGroups INTEGER, role_name VARCHAR) RETURNS SETOF "public"."uuid" AS
$body$
BEGIN
IF bRestrictedGroups = 0
THEN
begin
if role_name is null then
--insert into @out(descriptor_id)
select distinct descriptor_id from dbo.role_descr_restriction r
inner join dbo.user_roles u
on u.name=r.role_name;
else
-- --insert into @out(descriptor_id)
select distinct descriptor_id from dbo.role_descr_restriction
where role_name=@role_name;
end if;
end;
END IF;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
элементарно, ватсон
select "GetRestrictedDescriptors"(0,'1111');
...
Рейтинг: 0 / 0
есть функция - не могу выполнить :-(
    #33869549
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, почему пишу без кавычек
CREATE OR REPLACE FUNCTION public.GetRestrictedDescriptors

а создается она с кавычками?

CREATE OR REPLACE FUNCTION "public"."GetRestrictedDescriptors"

публик при создании обязательно писать явно?
...
Рейтинг: 0 / 0
есть функция - не могу выполнить :-(
    #33873152
Алексей Ключников
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не обязательно. А кавычки это на всякий случай.
...
Рейтинг: 0 / 0
есть функция - не могу выполнить :-(
    #33873376
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Ключниковне обязательно. А кавычки это на всякий случай.

исследовал проблему. Если пишу без кавыяек - создается функция с именем маленькими буквами.

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


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