`
jsczxy2
  • 浏览: 1254852 次
  • 性别: 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;

分享到:
评论

相关推荐

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

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

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

    Oracle 删除所有表,视图,序列,函数,存储过程等SQL语句文档。

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

    物化视图 (MV)在一个段中存储查询结果,并且能够在提交查询时将结果返回给用户,从而不再需要重新执行查询 — 在查询要执行几次时,这是一个很大的好处。物化视图可以利用一个快速刷新机制从基础表中全部或增量刷新...

    oracle的sql优化

    oracle的sql优化方法 1.全表扫描和索引扫描  大数据量表尽量要避免全表扫描,全部扫描会按顺序每条记录扫描,对于>100万数据表影响很大。  Oracle中通过RowID访问数据是最快的方式  对字段进行函数转换,或者前...

    DELPHI 将表、视图、存储过程转换为SQL语句.rar

    DELPHI 将表、视图、存储过程转换为SQL语句,导出文件时,会自动打开并显示导出文件的内容,目前支持MSSQL2000和MSSQL2005数据库。目前支持视图脚本、存储过程脚本、用户表结构+数据+主键+默认值的提龋对标识也做...

    SQL 优化之 oracle物化视图

    物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照。

    Oracle PL SQL

    走进Oracle、认识PL/SQL、数据表的基本操作、表中数据的基本操作、数据的基本查询、查询中函数的使用、数据表的高级查询、索引及视图的使用、数据类型、流程控制、游标、存储过程和函数、触发器、异常处理、事务和锁...

    导出数据库中的视图 存储过程 表数据

    导出数据库中的视图 存储过程 表数据 导出数据库中的视图 存储过程 表数据 导出数据库中的视图 存储过程 表数据

    学生成绩管理系统Oracle全部SQL语句.txt

    3、要求使用sqlplus,pl/sql或developer建立存储过程,触发器和程序包等代码,其中要求用到游标,异常,各种语句等对表中数据进行处理; 4、使用自己熟悉的开发语言,加入界面,连接数据库; 5、报告要有操作截图...

    Oracle创建视图(View)

    3.在视图不出现下列情况时可通过视图修改基表数据或插入数据: a.视图中包含GROUP 函数,GROUP BY子句,DISTINCT关键字; b.使用表达式定义的列; c.ROWNUM伪列。 d.基表中未在视图中选择的其他列定义为非空...

    oracle动态性能表

    当sql语句执行并且该语句不在shared pool或虽然在shared pool但因为两者存在部分差异而不能被使用时产生硬解析。如果一条sql语句原文与当前存在的相同,但查询表不同则认为它们是两条不同语句,则硬解析即会发生。硬...

    Oracle10g DBA经常使用的动态性能视图和数据字典

    v$sqlarea:共享池中使用当前光标的统计信息,光标是一块内存区域,有Oracle处理SQL语句时打开。 v$statname:在v$sesstat中报告各个统计的含义 v$sysstat:基于当前操作会话进行的系统统计 v$waitstat:出现一个...

    代码自动生成工具(vb类 java类 sql存储过程...)

    根据自定义模板通过数据库表、视图和存储过程批量生成代码, 模板编辑和代码查看支持语法高亮 (Java, VB, T-SQL) 可以新增语法文件,文件格式类似于 EditPlus 软件附带模板包括: VB 三层结构中实体和...

    Oracle数据库、SQL

    1.1表是数据库中存储数据的基本单位 1 1.2数据库标准语言 1 1.3数据库(DB) 1 1.4数据库种类 1 1.5数据库中如何定义表 1 1.6 create database dbname的含义 1 1.7安装DBMS 1 1.8宏观上是数据-->database 1 1.9远程...

    Oracle删除表前判断表名是否存在若存在则删除

    在Oracle中若删除一个不存在的表,如 “DROP TABLE notExistTable”,则会提示: ORA-00942:表或视图不存在, 若使用程序执行该语句则会报异常,这就需要我们再删除表前判断该表是否存在,若存在则删除. 下面是不使用存储...

    Oracle-SQL基础到存储过程下载(第三阶段)

    044.sql对象_表空间.mp4 045.sql对象_用户.mp4 046.sql对象_建表授权同义词.mp4 047.sql对象_序列.mp4 048.sql对象_普通视图.mp4 049.sql对象_物化视图.mp4 050.sql对象_索引介绍.mp4 051.sql对象_索引失效.mp4 052....

    118个真实应用场景的Oracle存储过程案例及开发指南(从入门到熟练使用)

    3、资源分为两类:真实应用场景的存储过程案例61个(真实业务案例,供学习参考)、通用存储过程案例57个(涉及序列、表及列操作、主键唯一索引约束、事务、内存、权限、导出文件、视图、迭代、备份、参数校验等,可...

    Oracle数据库SQL和PL/SQL实例教程

    Oracle数据库SQL和PL/SQL实例教程 非常适用于初学者。结合例子深刻形象的讲解。 第1章 关系数据库与SQL语言环境 第2章 数据查询 第3章 数据操作 第4章 表和视图 第5章 其他数据库对象 第6章 SQL基础 第7章 游标和...

    C#数据处理的类(oracle数据库),可处理存储过程、函数、SQL语句

    自己写的C#数据处理的类,拿出来分享一下。可以处理存储过程、函数、SQL语句,方便的添加参数方式。 有兴趣的朋友共同研究一下。

Global site tag (gtag.js) - Google Analytics