MySQL权限疑问:无创建函数权限能否使用自定义函数?
关于自定义函数使用权限的问题
不行,你没法直接跳过创建权限来使用这个自定义函数,得按下面的逻辑来:
- 首先这个函数必须先被创建到数据库里才能调用,而创建自定义函数需要对应权限(比如MySQL的
CREATE ROUTINE、PostgreSQL的CREATE FUNCTION权限),你目前只有执行权限,自己没法完成创建操作,得找拥有创建权限的管理员或数据库所有者帮你创建这个函数。 - 等函数创建完成后,只要你有该函数所在数据库的
EXECUTE权限,就可以直接调用它了,这时候不需要创建权限。
你提到的自定义函数代码如下:
CREATE FUNCTION substr_beginning_end (long_text text, substr_beginning VARCHAR(50), substr_end VARCHAR(20)) RETURNS VARCHAR(2000) DETERMINISTIC RETURN SUBSTR(long_text, POSITION(substr_beginning IN long_text) + LENGTH(substr_beginning), LOCATE(substr_end, long_text, POSITION(substr_beginning IN long_text))-POSITION(substr_beginning IN long_text) - LENGTH(substr_beginning) );
内容的提问来源于stack exchange,提问作者Sherlock
相关产品推荐
相关产品推荐

