`
jsczxy2
  • 浏览: 1275193 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

Oracle动态sql在存储过程中出现表或视图不存在的解决方法 

阅读更多

CREATE OR REPLACE PROCEDURE P_test

is

strsql varchar2(2000);

BEGIN

  

   --导入用户数据数据                

 strsql := 'insert into tabuser (usercode) select us.tabuser.usercode from us.tabuser'

    execute immediate strsql;      

 

EXCEPTION
when others   then
    raise FIND_DATA_EMP;
end P_test;

会出现

ORA-00942: 表或视图不存在

这种情况为

用户拥有的role权限在存储过程是不可用的。遇到这种情况,我们一般需要显式进行系统权限,如grant create table to suk;但这种方法太麻烦,有时候可能需要进行非常多的授权才能执行存储过程,实际上,oracle给我们提供了在存储过程中使用role权限的方法:修改存储过程,加入Authid Current_User时存储过程可以使用role权限

CREATE OR REPLACE PROCEDURE P_test

Authid Current_User

is

strsql varchar2(2000);

BEGIN

  

   --导入用户数据数据                

 strsql := 'insert into tabuser (usercode) select us.tabuser.usercode from us.tabuser'

    execute immediate strsql;      

end P_test;

分享到:
评论

相关推荐

    Oracle过程中创建视图

    根据提供的标题、描述以及部分代码内容,我们可以详细探讨在Oracle数据库中如何通过存储过程来创建视图,并且解决其中可能出现的一些问题。 ### Oracle过程中创建视图 #### 1. 使用`EXECUTE IMMEDIATE` 在Oracle...

    SqlServer表结构转oracle表结构

    在数据库管理领域,将SQL Server的表结构转换到Oracle数据库是一项常见的需求,特别是在系统迁移或数据整合的过程中。本文将详细探讨如何实现这一过程,并提供C#开发源码的相关信息。 首先,我们需要理解SQL Server...

    sqlserver 快速查询存储过程是否用到某个表或者字段

    sqlserver 快速查询存储过程或者视图中是否用到某个表或者字段。

    利用oracle系统表或视图猜解字段

    在实际操作中,安全管理员应确保对这些敏感信息的访问有严格的权限控制,避免恶意用户通过系统表和视图获取不应知的信息。同时,开发人员应进行充分的输入验证和SQL注入防护,防止攻击者利用这种猜解方法进行攻击。 ...

    通过MSQL通过视图访问ORACLE中的表

    视图是一种虚拟表,它不实际存储数据,而是根据用户定义的SQL查询动态生成结果集。这使得我们可以在MySQL环境中对Oracle数据进行查询,而无需直接在Oracle上执行SQL语句。 步骤如下: 1. **配置数据源**:在MySQL...

    Oracle数据库中物化视图的原理剖析

    Oracle数据库中的物化视图(Materialized View,简称MV)是一种强大的优化工具,它通过预先计算并存储查询结果,提供了一种快速访问复杂查询数据的方式。这种技术在数据仓库环境中尤其有用,因为数据仓库通常涉及...

    常用的oracle表和视图

    为了高效地了解某个特定表在哪些存储过程中被引用,可以通过以下SQL查询来实现: ```sql SELECT A.NAME AS 过程名称, MIN(A.LINE) AS 首次出现行数 FROM USER_SOURCE A WHERE A.TEXT LIKE '%t_lea_waybill%' GROUP ...

    记使用Oracle SQL Developer 迁移MySql 数据至 Oracle.docx

    本文将详细讲解如何使用Oracle SQL Developer工具进行这样的迁移过程,以及如何解决在迁移过程中遇到的问题。 首先,确保你拥有正确的工具。在这个案例中,你需要MySQL 5.6.37、Oracle 11g以及Oracle SQL Developer...

    Oracle Sql语句转换成Mysql Sql语句

    4. **游标**:Oracle SQL支持游标,MySQL则不直接支持,需要使用存储过程或临时表来实现类似功能。 5. **函数和操作符**:两者内置的函数和操作符有所不同,例如Oracle的NVL对应MySQL的IFNULL,Oracle的TO_DATE对应...

    SQL 优化之 oracle物化视图

    通常情况下,物化视图被称为主表(在复制期间)或明细表(在数据仓库中)。 创建物化视图的目的: 1. 在本地维护远程数据的副本,提高查询效率。 2. 生成基于数据表的汇总表,用于数据仓库和数据分析。 创建物化...

    Oracle 删除所有表,视图,序列,函数,存储过程等SQL

    在Oracle数据库管理中,有时会遇到需要彻底清除某个模式下的所有对象的情况,如表、视图、序列、函数、存储过程或包等。这种需求可能出现在开发测试环境的清理工作、数据迁移准备阶段或者是进行系统升级前的数据清理...

    ORACLE_SQLDeveloper使用教程

    - 在 SQL Developer 中,可以轻松地浏览数据库中的各种对象,如表、视图、存储过程等。 - 对象列表通常显示在左侧的树状结构中。 2. **创建、导入导出 Oracle 数据库连接:** - SQL Developer 支持创建新的...

    oracle存储过程解锁

    在Oracle数据库中,存储过程是一种预先编译并存储在数据库中的SQL代码块,用于执行复杂的业务逻辑或数据处理任务。然而,在多用户并发访问的环境下,存储过程可能会因为某些操作而被锁定,导致其他进程无法访问或...

    Oracle数据库表与视图

    在Oracle中,表和视图是最基本的数据对象,它们构成了数据存储的核心结构。 **表** 是Oracle数据库中的核心元素,它用于存储和组织数据。表由一系列行和列组成,类似于电子表格。在Oracle8i版本中,引入了分区表和...

    Oracle SQL高级编程

    需要注意的是,给出的【部分内容】中存在重复的错误,意味着在原始文档中可能存在扫描识别错误,或在文字处理过程中发生了复制粘贴的错误。文档内容的准确性和完整性对于理解和学习Oracle SQL高级编程至关重要。因此...

    oracle转SQL Server方法收集

    迁移完成后,可以在SQL Server Metadata Explorer中的HR数据库下查看到对应的存储过程和表等对象。 ##### 7.2 数据迁移 数据迁移涉及将源数据库的实际数据复制到目标数据库。这一过程相对更为复杂,需要确保数据的...

    oracle基础--表、视图、过程、函数、游标、异常

    本文将深入讲解Oracle中的几个核心概念:表、视图、过程、函数、游标以及异常处理,这些都是Oracle数据库管理的基础。 首先,我们来看“表”。在Oracle中,表是数据的基本存储单元,用于组织和存储相关数据。创建表...

    Oracle SQL 官方文档

    此外,还涵盖了PL/SQL块的结构、子程序(函数和过程)以及如何在PL/SQL中与数据库进行交互。 2. **PL/SQL程序包与类型**:程序包在PL/SQL中是组织和重用代码的一种方式,可以包含过程、函数、变量和其他声明。这个...

    Oracle数据库sql转换mysql数据库工具

    "Oracle数据库sql转换mysql数据库工具" 提供了解决这一问题的解决方案,允许用户将Oracle数据库中的SQL语句或数据结构转换为MySQL兼容的格式。 在数据库迁移过程中,这样的工具至关重要,因为它可以简化工作流程,...

    oracle实现带参数视图

    接着,我们可以通过在视图定义中调用这些函数或过程,使视图能够动态地反映出这些参数的影响。 #### 示例详解 以下是一个具体的示例,展示了如何在 Oracle 中实现一个简单的带参数视图: ```sql CREATE OR ...

Global site tag (gtag.js) - Google Analytics