ORA-00942:表或视图不存在(在单独的sql中工作,但在oracle函数中不起作用)

前端之家收集整理的这篇文章主要介绍了ORA-00942:表或视图不存在(在单独的sql中工作,但在oracle函数中不起作用)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我有一个sql语句,如select * from table1,它的功能很好,但一旦我把它放入一个函数,我得到:
ORA-00942: table or view does not exist

如何解决这个问题?

解决方法@H_404_8@
有几件事你可以看看。根据您的问题,功能所有者看起来与表所有者不同。

1)通过角色授予:为了在其他用户的对象上创建存储过程和函数,您需要直接访问对象(而不是通过角色进行访问)。

2)

By default,stored procedures and sql methods execute with the
privileges of their owner,not their current user.

如果您在Schema A中创建了一个表,并且在Schema B中创建了一个表,那么您应该查看Oracle的Invoker / Definer Rights概念,以了解可能导致该问题的原因。

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/subprograms.htm#LNPLS00809

原文链接:/mssql/84601.html

猜你在找的MsSQL相关文章