`

存储过程中调用同义词报“表和视图不存在”

阅读更多

创建了同义词,直接查询都是正常的,但存储过程中一调用就报“”表和视图不存在“”,因为"在存储过程中访问公共同义词,必须直接对用户授权,而不能通过角色授权"。

见http://blog.csdn.net/linminqin/article/details/6671785。

比如我test用户的存储过程中要调用ca的表,在test创建ca的同义词后需要grant all on 同义词表名 to public。

 

另:

如果创建了很多同义词,每一个都赋值很麻烦,可以采用sql方式查询,然后复制黏贴运行。

select 'grant select on '||SYNONYM_NAME || ' to PUBLIC ' from dba_synonyms WHERE OWNER='TEST'。将结果复制出来运行即可。

grant权限的时候可以用all,而查询只需要用select,所以可以只赋予select

见http://blog.itpub.net/77580/viewspace-212827/

分享到:
评论

相关推荐

    Oracle报存储过程中调用DBLink同义词出现错误:PLS-00201: 必须声明标识符

    在Oracle数据库环境中,当我们在存储过程中使用DBLink同义词时,可能会遇到“PLS-00201: 必须声明标识符”的错误。这个错误通常表明编译器无法识别你引用的对象,可能是由于权限问题或者对象定义未正确导入。下面...

    MLDN魔乐科技_Oracle课堂22_序列、同义词

    同义词是数据库中的一个命名别名,它允许用户为表、视图、过程或其他数据库对象创建一个替代名称。同义词的存在有以下几个好处:首先,它可以提供更好的可读性和可维护性,特别是当数据库对象的名称过长或者包含不...

    利用oracle同义词技术加强对MIS系统数据接口管理控制.pdf

    Oracle 同义词(Synonyms)技术是Oracle数据库提供的一种功能,允许数据库用户通过一个别名来访问数据库对象,如表、视图、存储过程等,以此来提高数据访问的安全性和透明度。在MIS系统数据接口管理中,同义词技术的...

    数据库开发 Oracle数据库 SQL开发教程 第16章 序列、索引、同义词(共34页).pdf

    - **相关数据字典**:同义词的信息存储在数据字典中,可以通过查询数据字典视图来查看。 总结来说,本章的学习旨在帮助开发者理解并熟练运用Oracle数据库中的序列、索引和同义词,从而提升数据库管理的效率和应用的...

    oracle数据库学习宝典

    本"Oracle数据库学习宝典"旨在帮助你全面掌握Oracle数据库的核心概念和技术,包括视图、存储过程、索引、触发器、同义词以及分区表的使用。 首先,让我们深入了解**视图**。视图是数据库中的虚拟表,它并不实际存储...

    存储过程中采样数据库的实时连接数

    同时,创建一个公有同义词方便其他用户查询。 接着,编写一个名为select_sessionnum的存储过程。这个过程将从v$session视图中获取当前活动的非空用户名的连接数、用户名、机器名和当前日期,然后将这些信息插入到...

    数据库模式对象与数据字典

    同义词是数据库对象(如表、视图、过程等)的别名,可以提供访问控制和方便的命名。创建同义词的语法为: ```sql CREATE SYNONYM <同义词名> FOR <对象名>; ``` ### PL/SQL存储过程和存储函数 PL/SQL存储过程和...

    Oracle常用对象大全及实例详解.pdf

    Oracle数据库是世界上最流行的数据库管理系统之一,它包含了众多的对象类型,如表、索引、视图、同义词、函数、存储过程、触发器和包等。这些对象在数据库设计和管理中扮演着至关重要的角色。 1. **表**:表是...

    IBM-ETP-Oracle04第四章 数据库对象管理

    Oracle数据库是全球广泛使用的数据库系统之一,其对象管理涉及众多方面,包括但不限于数据表、索引、视图、存储过程、触发器、同义词等。下面我们将深入探讨这些知识点。 首先,**数据表** 是数据库中最基本的存储...

    第8章 Oracle 的其它对象.pptx

    **同义词(Synonyms)**是数据库中的别名,允许用户以不同的方式引用表、视图或其他数据库对象,提供了一种简化数据库对象访问的手段。创建同义词使用`CREATE SYNONYM`语句。 **存储过程(Stored Procedures)**是...

    oracle数据库对象

    3. **视图**:视图是从一个或多个表中选择和组合数据的虚拟表,它不实际存储数据,而是提供一种查看数据的特定方式。视图可以简化复杂查询,隐藏敏感信息,或者提供特定用户定制的数据视图。 4. **索引**:索引是...

    清华大学计算中心oracle培训资料

    - 视图与同义词:创建和使用视图简化查询,以及同义词在权限管理和跨schema访问中的作用。 6. **备份与恢复** - Oracle备份策略:全备、增量备份和差异备份的选择与实施。 - RMAN(Recovery Manager):Oracle...

    plsql developer

    3. **对象管理**:包括表、视图、索引、同义词、存储过程、函数、包、触发器等数据库对象的管理。用户可以直接在界面中创建、修改或删除这些对象。 4. **数据操作**:支持SQL查询的执行,可以查看、导入和导出数据...

    BLOG_Oracle_lhr_如何让普通用户可以杀掉自己用户的会话.pdf

    总结来说,本文介绍的技术知识点主要包括如何利用视图、公共同义词和存储过程来实现普通用户在Oracle数据库中杀掉自己会话的需求。通过将复杂的权限操作封装在一个安全的程序中,既提高了数据库的管理效率,也保证了...

    事务和数据库对象事务和数据库对象.docx

    同义词可以被视为数据库对象的别名,但与临时别名不同,它们是持久存储在数据库中的。 ##### 分类 Oracle同义词分为两种类型: - **私有同义词**(Private Synonym):只能被当前模式的用户访问。 - **共有同义词...

    南京工程学院oracle期末上机考试题目.docx

    * logical structures of the Oracle database包括表、索引、视图、同义词等。 * 约束需要索引,例如NOT NULL约束。 * DROP USER语句可以用来删除用户。 * %FOUND、%ISOPEN、%ISCLOSED等异常处理机制可以用来处理...

    PL/SQL简介-快速入门

    在PL/SQL中,我们可以创建存储过程、函数、触发器等数据库对象,这些对象可以封装复杂的业务逻辑,提高代码复用性和数据库的性能。例如,你可以编写一个存储过程来实现对数据的一系列操作,如插入、更新、删除等,...

    Oracle数据库实验指导办法.doc

    实验过程中,重点在于理解和掌握Oracle数据库的基本功能,如数据库的创建、表空间和数据文件的管理、用户权限的设定、表结构和数据的维护、索引、视图、同义词和序列的管理,以及PL/SQL编程语言的应用。 实践1 - ...

    2022年数据库触发器与内置程序包综述(共22张PPT).pptx

    这些包通常由系统用户SYS拥有,并作为公共同义词提供,任何用户只要有EXECUTE权限,就可以访问这些包中的过程和函数。 要管理触发器,可以使用ALTER TRIGGER命令来启用或禁用它们,或者使用DROP TRIGGER命令来删除...

Global site tag (gtag.js) - Google Analytics