300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Oracle调用带有out参数的存储过程

Oracle调用带有out参数的存储过程

时间:2023-07-06 17:38:43

相关推荐

Oracle调用带有out参数的存储过程

当我们在oracle中写完一个存储过程,我们通常需要使用测试调用存储过程,调用测试之后,然后提交执行结果,就可以去数据库中执行sql,查看我们的存储过程执行的数据是否符合预期效果。

实际测试中,我们可能不希望直接提交数据,原因有如下两点:

很多时候我们写的存储过程或多或少有些问题,数据也不正确,不希望直接提交一旦提交了,可能这条测试数据就被使用了,我们需要重新创造测试数据

因此,如何通过sql调用存储过程,然后不提交,接着执行我们的查询、或者执行其他存储过程,直到最后再提交或者回滚数据,可以提高我们开发完自测的效果,方便省事。

案例演示

案例一:调用不带有out参数的的存储过程(比较简单)

存储过程定义如下:

PROCEDURE P_TEST(V_PARAM_1 IN VARCHAR2, V_PARAM_2 IN VARCHAR2) IS

存储过程调用如下:

BEGIN

P_TEST(‘1’,‘2’);

END;

案例二:调用带有out参数的存储过程

存储过程定义如下

PROCEDURE P_TEST(V_PARAM_1 IN VARCHAR2, V_PARAM_2 IN VARCHAR2,V_RESULT OUT VARCHAR2) IS

存储过程调用如下:

BEGIN

DECLARE

V_RESULT VARCHAR2(32); --定义一个和返回结果相同的参数类型

BEGIN

P_TEST(‘1’, ‘1’, V_RESULT); --调用存储过程

DBMS_OUTPUT.PUT_LINE(V_RESULT); --把返回结果打印到输出区域

END;

END;

案例说明

如下图,可以先执行中间红色框框里的存储过程,然后可以看到上边的框框里,执行完成后是数据是没有提交的,可以下最下面的红色框里添加自己的查询代码,这个时候查询到的数据,包含了存储过程执行的结果,等自己测试完毕了,可以选择回滚数据,这样即使自己的存储过程写的有问题,也不会污染数据,修改后可以重复测试。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。