Mysql Function 的访问权限问题

jiangshan1203 2009-04-10 11:12:15
Mysql 下的Function权限问题,执行了下面的语句后,赋权给squery后,怎么function不执行啊?用别的用户可以执行的。是否权限设置有问题?另外,function所操作的表给予了select update delete权限了。
grant execute on function chrm_db.func_training_update to 'squery'@'%';


附:Function如下:
CREATE FUNCTION `Func_Employee_Update`(P_EMPLOYEE_ID VARCHAR(20), P_ENGLISH_NAME VARCHAR(20), P_CELL_PHONE VARCHAR(30), P_MESSAGE_ADDRESS VARCHAR(80), P_EMERGENCY_PHONE VARCHAR(30), P_HOME_PHONE VARCHAR(30), P_SPECIALTY VARCHAR(200))
RETURNS int(11)
DETERMINISTIC
SQL SECURITY DEFINER
COMMENT ''
BEGIN
Update chrm_employee
set
ENGLISH_NAME = P_ENGLISH_NAME,
CELL_PHONE=P_CELL_PHONE,
MESSAGE_ADDRESS=P_MESSAGE_ADDRESS,

EMERGENCY_PHONE=P_EMERGENCY_PHONE,

HOME_PHONE=P_HOME_PHONE,
SPECIALTY=P_SPECIALTY

Where employee_id=P_EMPLOYEE_ID ;
return 1;
END;
...全文
494 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2009-04-10
  • 打赏
  • 举报
回复
MySQL的帮助文档中的例子 http://dev.mysql.com/doc/refman/5.1/zh/index.html

mysql> CREATE FUNCTION hello (s CHAR(20)) RETURNS CHAR(50)
-> RETURN CONCAT('Hello, ',s,'!');
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT hello('world');
+----------------+
| hello('world') |
+----------------+
| Hello, world! |
+----------------+
1 row in set (0.00 sec)
ACMAIN_CHM 2009-04-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 jiangshan1203 的回复:]
用squery提示登录成功。怎么用命令行执行一个function呢?
[/Quote]

直接在你的SELECT语句中执行就行了。 可以参考一下MySQL的帮助文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html


SELECT Func_Employee_Update(....);
WWWWA 2009-04-10
  • 打赏
  • 举报
回复
select functionname(参数)
jiangshan1203 2009-04-10
  • 打赏
  • 举报
回复
用squery提示登录成功。怎么用命令行执行一个function呢?
WWWWA 2009-04-10
  • 打赏
  • 举报
回复
提示什么错误信息?在MYSQL中用此用户登录,运行试试
jiangshan1203 2009-04-10
  • 打赏
  • 举报
回复
哪位高手指点一下,多谢了。

56,937

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧