Есть ли способ обойти это в Teradata, если у вас есть права на создание процедуры в общей базе данных, но вы не можете выполнить первую процедуру внутри второй процедуры, созданной в той же базе данных. Попытка с помощью SQL INVOKER и SQL CREATOR.
Попробовал вариант явного предоставления выполнения, завершившийся: «У пользователя нет доступа к базе данных CREATE PROCEDURE WITH GRANT OPTION»
Что еще можно сделать здесь?
.login server1/$user1,$pwd1
database shared_db;
replace proc proc1
SQL SECURITY CREATOR
begin
end;
replace proc proc2
begin
call proc1;
end;
-- errors
РЕДАКТИРОВАТЬ для Фреда:
База данных, содержащая процедуры, является общей (aka shared_db). Пользователь1 (у которого есть права на создание процедур в shared_db) создает в нем proc1 и proc2; последний выполняет proc1 из своего тела.
РЕДАКТИРОВАТЬ 2 - завершено, необходимая настройка действительно была (что не так очевидно)
GRANT EXECUTE ON shared_db.proc1 для shared_db;
Спасибо!