Назад | Перейти на главную страницу

Разрешения DB2 UDF

У меня есть настраиваемая функция, над которой я работаю ... проблема, с которой я столкнулся, проста: Permssions.

пример функции:

drop function circle_area
go

CREATE FUNCTION  circle_area (radius FLOAT)
RETURNS FLOAT LANGUAGE SQL
BEGIN
     DECLARE pi FLOAT DEFAULT 3.14;
     DECLARE area FLOAT;

     SET area =  pi * radius * radius;
     RETURN area;
END
GO

если я затем выйду из своей учетной записи «admin» ... и войду в тестовую учетную запись, я получаю сообщение об ошибке «Не авторизован», когда пытаюсь запустить что-то «Select circle_area (foo) from library.bar».

Я могу войти в Навигатор iSeries, перейти к схеме> функции> разрешения и изменить разрешение для всех с Исключить на Все. бац это работает.

Как предоставить разрешение всем в ФУНКЦИИ СОЗДАНИЯ или после нее?

Использовать GRANT заявление:

GRANT EXECUTE ON FUNCTION CIRCLE_AREA TO PUBLIC;