У меня есть настраиваемая функция, над которой я работаю ... проблема, с которой я столкнулся, проста: 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;