创建MySQL存储过程时需要`definer`吗?
不,创建存储过程时,定义器部分不是必需的。当您要创建定义器时使用它。
从MySQL.user表中检查所有用户和主机-
mysql> select user,host from mysql.user;
以下是输出-
+------------------+-----------+ | user | host | +------------------+-----------+ | Manish | % | | User2 | % | | mysql.infoschema | % | | mysql.session | % | | mysql.sys | % | | root | % | | Adam Smith | localhost | | User1 | localhost | | am | localhost | +------------------+-----------+ 9 rows in set (0.03 sec)
在这里,让我们创建一个名为AdamSmith的定义器。创建存储过程的查询如下-
mysql> delimiter // mysql> CREATE DEFINER = 'Adam Smith'@'localhost' procedure Sp_Definer() -> begin -> select 'Hello MySQL'; -> end; -> // mysql> delimiter ;
使用CALL命令调用存储过程。语法如下-
CALL yourStoredProcedureName();
调用上面的存储过程。
mysql> call Sp_Definer();
以下是输出。
+-------------+ | Hello MySQL | +-------------+ | Hello MySQL | +-------------+ 1 row in set (0.00 sec)
热门推荐
10 八一幼儿祝福语大全简短
11 公司乔迁食堂祝福语简短
12 婚礼结束聚餐祝福语简短
13 儿媳买车妈妈祝福语简短
14 毕业送礼老师祝福语简短
15 同事辞职正常祝福语简短
16 恭贺新婚文案祝福语简短
17 金店立秋祝福语简短英文
18 婆婆高寿祝福语大全简短