【背景】
做数据抽取时,源端遇到多用户访问不同所属表情况,需要使用相同的函数时,在多用户下需要重新创建。
?
【解决】
多用户下遇到使用相同函数的情况时,我们可以选择重新创建函数,但有时由于函数过多,执行起来不方便,每个用户都执行一次有时也不便于对于函数的管理。因此我们可以创建一次函数,然后通过赋权的方式,多用户共同使用同一个函数。以“判断是否为数字”isnum()函数为例,语法为:grant execute on 用户.函数名 to其它用户。
?
【实验】
为赋权限前,登陆hyl用户使用isnum函数,报错,如下:

sys用户下将scott用户的isnum函数执行权限赋予hyl用户,如下操作:
SQL> grant execute on scott.isnum to hyl;
再次使用hyl用户调用isnum函数,验证如下图:


小知识,简而记之。
?