测试存储过程的状态对执行的影响
测试目的: 测试存储过程的状态对该存储过程运行的影响。 环境准备: 1.创建测试表 test_drop_dep create table test_dep(name varchar2(20));insert into test_dep(name) values(ABC);commit; 2.建立依赖表 test_drop_dep的存储过程 create or replace proc
测试目的:
测试存储过程的状态对该存储过程运行的影响。
环境准备:
1.创建测试表 test_drop_dep
create table test_dep(name varchar2(20)); insert into test_dep(name) values('ABC'); commit;
2.建立依赖表 test_drop_dep的存储过程
create or replace procedure test_drop_dep
as v_count number; begin select count(*) into v_count from test_dep; dbms_output.put_line('BEFORE SLEEP TIME='||to_char(sysdate,'hh24:mi:ss')); dbms_lock.sleep(30); dbms_output.put_line('BEHIND SLEEP TIME='||to_char(sysdate,'hh24:mi:ss')); dbms_output.put_line('THE ROWCOUNT ='||to_char(v_count)); end; /
测试用例
测试用例1:
session1执行存储过程,session2删除表test_drop_dep,然后查询存储过程的状态。
session1执行存储过程
execute test_drop_dep;
session2删除表test_drop_dep,然后查询存储过程的状态
drop table test_dep; select object_name,status from dba_objects where object_name='TEST_DROP_DEP'; OBJECT_NAME STATUS ------------------------------ ------- TEST_DROP_DEP INVALID
测试用例1结论:
存储过程依赖的对象失效(删除)后,该存储过程会立即标记为失效invalid,即使该过程正在执行,已经运行的该存储过程会正常执行完毕。
测试用例2:
session1执行存储过程,session2删除表 test_drop_dep ,创建表test_drop_dep,执行存储过程。session1执行存储过程
execute test_drop_dep; /* SQL> execute test_drop_dep; BEFORE SLEEP TIME=10:06:47 BEHIND SLEEP TIME=10:07:17 THE ROWCOUNT =1 PL/SQL procedure successfully completed. */
session2删除表 test_drop_dep ,创建表test_drop_dep,执行存储过程
drop table test_dep; select object_name,status from dba_objects where object_name='TEST_DROP_DEP'; create table test_dep(name varchar2(20)); insert into test_dep(name) values('ABC'); commit; select object_name,status from dba_objects where object_name='TEST_DROP_DEP'; execute test_drop_dep; select object_name,status from dba_objects where object_name='TEST_DROP_DEP'; /* SQL> drop table test_dep; Table dropped. SQL> select object_name,status from dba_objects where object_name='TEST_DROP_DEP'; OBJECT_NAME STATUS ------------------------------ ------- TEST_DROP_DEP INVALID SQL> create table test_dep(name varchar2(20)); insert into test_dep(name) values('ABC'); Table created. SQL> commit; 1 row created. SQL> Commit complete. SQL> select object_name,status from dba_objects where object_name='TEST_DROP_DEP'; OBJECT_NAME STATUS ------------------------------ ------- TEST_DROP_DEP INVALID SQL> execute test_drop_dep; select object_name,status from dba_objects where object_name='TEST_DROP_DEP'; BEFORE SLEEP TIME=10:07:17 BEHIND SLEEP TIME=10:07:47 THE ROWCOUNT =1 PL/SQL procedure successfully completed. SQL> OBJECT_NAME STATUS ------------------------------ ------- TEST_DROP_DEP VALID */
测试用例2结论:
有效的存储过程执行后,会一直执行完毕,而不管当前是否是valid状态;
invalid的存储过程第一运行会执行编译,如果此时有未执行完成的该过程,编译一直处于library cache pin等待,直到所有过程都执行完才能编译执行。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

“事件日志消息中的连接状态显示为待机状态:已断开连接,原因是符合NIC标准。这意味着系统在待机模式下,网络接口卡(NIC)已断开连接。虽然这通常是网络问题,但也可能由软件和硬件冲突引起。在接下来的讨论中,我们将探讨如何解决这一问题。”待机连接断开的原因是什么?NIC合规性?如果在Windows事件查看器中发现“ConnectivityStatusinStandby:DisConnected,Reason:NICCompliance”消息,这表示您的NIC或网络接口控制器可能存在问题。这种情况通常

在VirtualBox中尝试打开磁盘映像时,可能会遇到错误提示,指示硬盘无法注册。这种情况通常发生在您尝试打开的VM磁盘映像文件与另一个虚拟磁盘映像文件具有相同的UUID时。在这种情况下,VirtualBox会显示错误代码VBOX_E_OBJECT_NOT_FOUND(0x80bb0001)。如果您遇到这个错误,不必担心,有一些解决方法可以尝试。首先,您可以尝试使用VirtualBox的命令行工具来更改磁盘映像文件的UUID,这样可以避免冲突。您可以运行命令`VBoxManageinternal

飞行模式别人打电话会怎么样手机已经成为人们生活中必不可少的工具之一,它不仅仅是通信工具,还是娱乐、学习、工作等多种功能的集合体。随着手机功能的不断升级和改进,人们对于手机的依赖性也越来越高。在飞行模式出现后,人们可以更方便地在飞行中使用手机。但是,有人担心在飞行模式下别人打电话的情况会对手机或者使用者产生什么样的影响呢?本文将从几个方面来进行分析和讨论。首先

furmark怎么看?1、在主界面中设置“运行模式”和“显示模式”,还能调整“测试模式”,点击“开始”按钮。2、等待片刻后,就会看到测试结果,包含了显卡各种参数。furmark怎么算合格?1、用furmark烤机,半个小时左右看一下结果,基本上在85度左右徘徊,峰值87度,室温19度。大号机箱,5个机箱风扇口,前置两个,上置两个,后置一个,不过只装了一个风扇。所有配件都没有超频。2、一般情况下,显卡的正常温度应该在“30-85℃”之间。3、就算是大夏天周围环境温度过高,正常温度也是“50-85℃

陌陌这款广为人知的社交平台,为用户的日常社交提供了丰富的功能服务。在陌陌上,用户可以轻松分享生活状态、结交朋友、进行聊天等。其中设置状态功能让用户能够向其他展示自己当前的心情和状态,进而吸引更多人的关注和交流。那么究竟该如何设置自己的陌陌状态呢,下文中就为大家带来详细的内容介绍!陌陌怎么设置状态?1、打开陌陌,点击右下角更多,找到并点击每日状态。2、选择状态。3、即可显示设置的状态。

本站3月7日消息,华为数据存储产品线总裁周跃峰博士日前出席MWC2024大会,专门展示了为温数据(WarmData)和冷数据(ColdData)设计的新一代OceanStorArctic磁电存储解决方案。华为数据存储产品线总裁周跃峰发布系列创新解决方案图源:华为本站附上华为官方新闻稿内容如下:该方案的成本比磁带低20%,功耗比硬盘低90%。根据国外科技媒体blocksandfiles报道,华为发言人还透露了关于该磁电存储解决方案的信息:华为的磁电磁盘(MED)是对磁存储介质的重大创新。第一代ME

在抖音平台上,用户不仅可以分享自己的生活点滴,还可以与其他用户互动交流。有时候评论功能可能会引发一些不愉快的经历,如网络暴力、恶意评论等。那么,如何关闭抖音评论功能呢?一、如何关闭抖音评论功能?1.登录抖音APP,进入个人主页。2.点击右下角的“我”,进入设置菜单。3.在设置菜单中,找到“隐私设置”。4.点击“隐私设置”,进入隐私设置界面。5.在隐私设置界面,找到“评论设置”。6.点击“评论设置”,进入评论设置界面。7.在评论设置界面,找到“关闭评论”选项。8.点击“关闭评论”选项,确认关闭评论

新派幻想仙侠MMORPG《诛仙2》“无为测试”即将于4月23日开启,在原著千年后的诛仙大陆,会发生怎样的全新仙侠冒险故事?六境仙侠大世界,全日制修仙学府,自由自在的修仙生活,仙界中的万般妙趣都在等待着仙友们亲自前往探索!“无为测试”预下载现已开启,仙友们可前往官网下载,开服前无法登录游戏服务器,激活码可在预下载安装完成后使用。《诛仙2》“无为测试”开放时间:4月23日10:00——5月6日23:59诛仙正统续作全新仙侠冒险篇章《诛仙2》以《诛仙》小说为蓝图,在继承原著世界观的基础上,将游戏背景设
