因为你使用system用户,而且是用普通权限登陆,这个时候,system没有对标dba_tables的select权限,所以就会报错。
而sys用户则有对表dba_tables的select权限,所以不会报错。

解决方案 »

  1.   

    如果你使用system as sysdba登陆,就不会出现问题了
      

  2.   

    作为sys用户 如果我想让system 也能够使用这个函数 哪个该如何处理呢 ?或者说能否让system也有权限使用这个函数(我仅仅指拥有这单个函数的使用权限)
      

  3.   

    我在上面不是已经说得很清楚了,你这个函数可以建立在system下,这样system不就有这个函数的使用权限了。
    关于如何建立,按照我上面说的,或者你将视图dba_tables授权给system用户,然后再使用system执行函数。
    也或者你可以使用sys执行函数,然后对函数进行授权给system用户,建议你不要什么都建立在sys下。