Как показать процедуру создания другим пользователем?

0

Я могу получить список процедур, выполнив следующее:

show procedure status where Db='test1';

И обычно мы можем получить синтаксис CREATE, выполнив следующее:

show create procedure sampleProcedure1;

Но CREATE Procedure показывает пустой. Есть ли какое-либо обходное решение для получения исходного CREATE процедуры?

Теги:
stored-procedures

1 ответ

2
Лучший ответ

Из документации MySQL:

Чтобы использовать любой оператор, вы должны быть именем пользователя в подпрограмме DEFINER или иметь доступ SELECT к таблице mysql.proc. Если у вас нет привилегий для самой процедуры, значение, отображаемое для поля Create Procedure или Create Function будет NULL.

Таким образом, решение заключается в предоставлении пользователю SELECT доступа к mysql.proc:

GRANT SELECT on mysql.proc TO 'user'@'hostname'

Замените hostname user и hostname соответствующими значениями.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню