먼저 호스트를 확인해야 합니다. 호스트는 'localhost' 또는 '%'일 수 있습니다. 호스트로 사용자 계정의 존재를 확인하십시오 -
mysql> select user,host from MySQL.user;
이것은 다음과 같은 출력을 생성합니다 -
+------------------+-----------+ | user | host | +------------------+-----------+ | Bob | % | | User2 | % | | mysql.infoschema | % | | mysql.session | % | | mysql.sys | % | | root | % | | @UserName@ | localhost | | Adam Smith | localhost | | David | localhost | | James | localhost | | John | localhost | | John Doe | localhost | | User1 | localhost | | am | localhost | | hbstudent | localhost | | mysql.infoschema | localhost | | mysql.session | localhost | +------------------+-----------+ 17 rows in set (0.00 sec)
이제 사용자 Bob의 정의자를 변경하고 호스트는 '%'입니다. 다음은 정의자로 저장 프로시저를 생성하는 쿼리입니다 -
mysql> DELIMITER // mysql> CREATE DEFINER=`Bob`@`%` PROCEDURE `Message`() BEGIN select "Hello World"; END // Query OK, 0 rows affected (0.14 sec) mysql> DELIMITER ;
이제 CALL 명령의 도움으로 저장 프로시저를 호출하십시오 -
mysql> call `Message`();
이것은 다음과 같은 출력을 생성합니다 -
+-------------+ | Hello World | +-------------+ | Hello World | +-------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)