在过程中,尤其是每天执行的任务,通常要检查查询的数据表存在不存在,如果不存在则等待一段时间在进行执行,以下代码实现了这个功能,如果表不存在,抛出异常,交给异常处理代码,确保数据完整性

使用方法:p_CheckTable('UserName.TableName')用户名不存在,则在所有表中查找

create or replace procedure p_CheckTable(p_TableName in varchar2)  as
v_count number;
v_TableName varchar2(200);
v_table varchar2(200);
v_owner varchar2(100);
begin
v_TableName:=upper(p_TableName);
v_count:=instr(v_TableName,'.',1,1);
--取owner
v_owner:=substr(v_TableName,1,v_count-1);
--dbms_output.put_line(v_owner);

--get table name 
v_table:=substr(v_TableName,v_count+1,length(v_TableName)-v_count);
--dbms_output.put_line(v_table);
 
--if not use other user table ,the owner string is null,then check all tables
if v_owner is null then
   select count(*) into v_count from all_tables a where a.TABLE_NAME=v_table;
else
   select count(*) into v_count from all_tables a where a.TABLE_NAME=v_table and  owner=v_owner;
end if;
if v_count=0 then
   raise_application_error(-20010,p_TableName||' is not exist,Please wait..');
end if;
 
end p_CheckTable;

转载于:https://www.cnblogs.com/iHqq/p/4619173.html

Oracle 过程中检查数据表存在与否相关推荐

  1. Oracle中表的键和检查,Oracle 过程中检查数据表存在与否

    在过程中,尤其是每天执行的任务,通常要检查查询的数据表存在不存在,如果不存在则等待一段时间在进行执行,以下代码实现了这个功能,如果表不存在,抛出异常,交给异常处理代码,确保数据完整性 使用方法:p_C ...

  2. oracle 导入单表,oracle 10g 中单个数据表的导入、导出

    一.导出工具 exp 他是oracle根目录下bin文件夹中的一个可执行文件,具体目录为:/ORACLE_HOME/BIN/exp. 利用该工具,可以将数据库中的表导出.交互式操作过程如下: 1.开始 ...

  3. 新旧ERP系统替换过程中的数据迁移

    由于各种原因,越来越多的企业面临着ERP系统替换问题,而在系统更换前,现有ERP系统中有效数据的导入,对ERP系统切换以及新系统正常运行有着重要影响.数据迁移稍有不慎,便会造成新系统不能正常启动,而迁 ...

  4. Oracle表里的照片怎么导出来,如何导出oracle数据库中某张表到excel_oracle数据库表格导出到excel...

    如何将oracle数据库表字段导成excel表格 这个你只要用ADO连oracle并获取记录集,根据你用的编程语言打开EXCEL,然后操作EXCEL对象的工作表就可以了.以VB为例: 1.在工程中引用 ...

  5. oracle数据库速度测试,【原创】验证在Oracle数据库中操纵数据的各种方法的速度...

    机器配置:组装的PC SERVER,4AMD CPU,8G内存,4块SCSI硬盘.Oracle 10.2.0.4. 试验目的:在244上,对xxx_flow表进行复制.更新,验证在Oracle数据库中 ...

  6. Oracle新建的用户看不到表,Oracle 创建用户及数据表的方法

    Oracle 创建用户及数据表的方法 更新时间:2009年09月25日 23:13:29   作者: 刚开始学习oracle的朋友可以看下,这个是基础了. 一.概念 1. 数据库 (Database) ...

  7. mysql数据库检表_MYSQL数据库检查数据表和修复数据表

    数据库在运行中,会因为人为因素或一些不可抗力因素造成数据损坏.所以为了保护数据的安全和最小停机时间,我们需制定详细的备份/恢复计划,并定期对计划的有效性进行测试. 结合MySQL服务器的运行机制和所提 ...

  8. oracle分歧处理,ORACLE 过程中容错处理

    ORACLE 过程中容错处理 1) 基本结构 BEGIN ... --语句 EXCEPTION -- 例外处理 WHEN ... ... WHEN OTHERS ... END; 2) 常用预定义例外 ...

  9. java cookie能存到服务器_Cookie技术用于将会话过程中的数据保存到( )中,从而使浏览器和服务器可以更好地进行数据交互。(5.0分)_学小易找答案...

    [单选题]下列选项中,用于对超链接和form表单中的action属性中设置的URL进行重写的方法是(5.0分) [判断题]安装好Tomcat后,就可以直接启动运行了,并不要先安装JDK.(5.0分) ...

  10. MySQL中给数据表插入多行数据

    有时因为测试需求,需要给某数据表中插入多行数据,所以自己就琢磨了一下,该过程实现涉及到了MySQL存储过程,想详细了解的可看下这个博客:MySQL存储过程,以下是具体的实现过程: 1.先创建一个表: ...

最新文章

  1. git 拉去merged 仓库的代码步骤
  2. Java基础学习总结(17)——线程
  3. linux IO多路复用 select epoll
  4. python基础内容_python基础-python介绍
  5. idea 使用sonarlint报错解决方案
  6. 谁考了第k名(信息学奥赛一本通-T1176)
  7. tensorflow 提示没有models库
  8. 这样的高颜值网易云音乐,是你想要的吗?
  9. 15 年工龄的阿里P9职场历程自述
  10. codelite开发php,CodeLite环境搭建
  11. 成熟男人与24岁女孩精彩对白(转)
  12. 微信小程序观看激励广告增加积分
  13. Unity TouchScripts实例 - 判断在物体上滑动
  14. 刘雨昕成为Swisse斯维诗胶原蛋白系列代言人
  15. 我的数字IC学习路线
  16. 网盘直链下载 windows 和 mac 都能使用 (油猴+FMD+直链脚本)
  17. SQLServer Stuff函数的用法
  18. android 11.0 去掉未知来源弹窗 默认授予安装未知来源权限
  19. 服务器多线程定时发送消息,C++Socket 多线程编程 定时和定量发送数据
  20. erp与相关计算机技术,基于ERP的商务智能系统应用-计算机技术专业论文.docx

热门文章

  1. Redis 主从复制的实现及配置
  2. 关于计算机的幻想作文600字,科学幻想作文600字
  3. python文本情感分析代码_6行代码的超简单语言情感分析:由Python的Vader情感库实现,超级,使用,vaderSentiment...
  4. 1.1.2获取和控制线程状态(Getting and Seeting Thread State)
  5. 解决Python中设置与获取cookie时出现的中文编码问题。
  6. 3号团队-团队任务5:项目总结会
  7. MySQL 是如何解决幻读的
  8. A1089. 阶乘计算
  9. OSPF建立邻居、邻接关系 学习笔记
  10. nodejs中Async详解之一:流程控制