PL/Sql 中创建、调试、调用存储过程

简介:

 

存储过程的详细建立方法

1.先建存储过程

左边的浏览窗口选择 procedures ,会列出所有的存储过程,右击文件夹procedures单击菜单“new",弹出 template wizard窗口.

 

name框中输入 GetSumAndSub ,

parameters中填入: p1 in number , p2 in number ,m out number , b out number 。

单击ok,右边出现建立存储过程的代码窗口。其中内容为创建存储过程的语句。

 

在begin end 之间输入具体内容,最后如下;

复制代码
create or replace procedure GetSumAndSub(p1 in number , p2 in number ,m out number , b out number) is
begin
  m := p1+p2 ;
  b := p1-p2 ;
end GetSumAndSub; 
复制代码

 

功能:求和与差 
原形:GetSumAndSub(p1 in number , p2 in number ,m out number , b out number)  
参数:m=p1+p2 b=p1-p2

单击“保存”按钮,可将创建存储过程的sql语句保存在文件中,作备分之用^_^。

 

接着要做的就是 执行此sql语句来创建存储过程。方法为:

找到工具栏上的“齿轮”图标,鼠标放上面会显示 ‘EXECUTE(F8)',单击之。存储过程此时已经建立完毕。可为什么我在右边的procedures文件夹下看不到此存储过程?刷新一下ok~


2. 测试、调试存储过程

在左边的浏览窗口选中 Procedure_HP_HWLP_Select_Test 该存储过程,右击选菜单“TEST‘,右边会出现新的测试窗口。 
说明:在测试窗口的下面你可以看到有一个参数列表,作输入参数值和查看out型参数值用。

  

在调试代码上方有个工具条: 
第一个放大镜形(start debugger),开始调试。 
第二个绿色三角形(run),执行。 
第三个step into ,单步调试。 
进入调试代码窗口后,可随意设置断点,方法就不用说了吧~ 

a 我们要在参数窗口中输入 两个参数值, p1为6,p2为4, m跟b不用填。 
b 点击start debugger,进入存储过程的代码窗口 
c 点击step into ,将鼠标放在变量符号上可查看变量值 
d 继续点击step into 直到单步运行完毕。此时会返回测试窗口。 
e 查看参数列表,验证m,b值为8,4。 

在测试窗口点击保存,可保存测试代码。以后重新打开时,你原先输入的那些参数值会保存在其中,免得每次测试都要重新输参数值。 
对于返回类型为游标的参数,数据不会直接显示,在列表的参数值框右边会有一个按扭,点击之,会弹出一个

 

3、Oracle中调用存储过程

复制代码
DECLARE
  p1 VARCHAR2(100);
  p2 VARCHAR2(100);
  p3 VARCHAR2(100);
BEGIN
  p1:='dd';
  p2:='3';
  testprocedure(p1,p2,'');
END;
复制代码

 

具体案例

只需要定义一个结果集,把东西存到结果集中就结束(这个结果集叫做游标),先创建存储过程:

 

create or replace procedure Demo(data out sys_refcursor) is  
begin  
  open data for select * from gsminfo;  
end Demo;  

然后直接执行就OK ,执行的方法如下:

找到存储过程,右键,选择测试:



然后出现的页面,再选择点击运行:



然后直接看结果集就可以了,注意了,oracle pl/sql这个工具,存储过程的结果集做的很不人性化,比起sql server差了很多,结果集在一个很隐蔽的地方,如图所示,点开即可



 

 

 

参考文章

pl/sql 创建并执行oralce存储过程,并返回结果集

PL/Sql 中创建、调试、调用存储过程

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。




    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/5959594.html ,如需转载请自行联系原作者




相关文章
|
7天前
|
SQL 存储 Oracle
Oracle的PL/SQL定义变量和常量:数据的稳定与灵动
【4月更文挑战第19天】在Oracle PL/SQL中,变量和常量扮演着数据存储的关键角色。变量是可变的“魔术盒”,用于存储程序运行时的动态数据,通过`DECLARE`定义,可在循环和条件判断中体现其灵活性。常量则是不可变的“固定牌”,一旦设定值便保持不变,用`CONSTANT`声明,提供程序稳定性和易维护性。通过 `%TYPE`、`NOT NULL`等特性,可以更高效地管理和控制变量与常量,提升代码质量。善用两者,能优化PL/SQL程序的结构和性能。
|
1月前
|
SQL Perl
PL/SQL经典练习
PL/SQL经典练习
13 0
|
1月前
|
SQL Perl
PL/SQL编程基本概念
PL/SQL编程基本概念
13 0
|
1月前
|
SQL Perl
PL/SQL Developer 注册机+汉化包+用户指南
PL/SQL Developer 注册机+汉化包+用户指南
16 0
|
1月前
|
存储 SQL 数据库
sql serve存储过程
sql serve存储过程
14 0
|
7天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL游标属性:数据的“导航仪”与“仪表盘”
【4月更文挑战第19天】Oracle PL/SQL游标属性如同车辆的导航仪和仪表盘,提供丰富信息和控制。 `%FOUND`和`%NOTFOUND`指示数据读取状态,`%ROWCOUNT`记录处理行数,`%ISOPEN`显示游标状态。还有`%BULK_ROWCOUNT`和`%BULK_EXCEPTIONS`增强处理灵活性。通过实例展示了如何在数据处理中利用这些属性监控和控制流程,提高效率和准确性。掌握游标属性是提升数据处理能力的关键。
|
7天前
|
SQL Oracle 安全
Oracle的PL/SQL循环语句:数据的“旋转木马”与“无限之旅”
【4月更文挑战第19天】Oracle PL/SQL中的循环语句(LOOP、EXIT WHEN、FOR、WHILE)是处理数据的关键工具,用于批量操作、报表生成和复杂业务逻辑。LOOP提供无限循环,可通过EXIT WHEN设定退出条件;FOR循环适用于固定次数迭代,WHILE循环基于条件判断执行。有效使用循环能提高效率,但需注意避免无限循环和优化大数据处理性能。掌握循环语句,将使数据处理更加高效和便捷。
|
7天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL条件控制:数据的“红绿灯”与“分岔路”
【4月更文挑战第19天】在Oracle PL/SQL中,IF语句与CASE语句扮演着数据流程控制的关键角色。IF语句如红绿灯,依据条件决定程序执行路径;ELSE和ELSIF提供多分支逻辑。CASE语句则是分岔路,按表达式值选择执行路径。这些条件控制语句在数据验证、错误处理和业务逻辑中不可或缺,通过巧妙运用能实现高效程序逻辑,保障数据正确流转,支持企业业务发展。理解并熟练掌握这些语句的使用是成为合格数据管理员的重要一环。
|
7天前
|
SQL Oracle 关系型数据库
Oracle的PL/SQL表达式:数据的魔法公式
【4月更文挑战第19天】探索Oracle PL/SQL表达式,体验数据的魔法公式。表达式结合常量、变量、运算符和函数,用于数据运算与转换。算术运算符处理数值计算,比较运算符执行数据比较,内置函数如TO_CHAR、ROUND和SUBSTR提供多样化操作。条件表达式如CASE和NULLIF实现灵活逻辑判断。广泛应用于SQL查询和PL/SQL程序,助你驾驭数据,揭示其背后的规律与秘密,成为数据魔法师。
|
1月前
|
SQL Oracle 关系型数据库
Oracle系列十一:PL/SQL
Oracle系列十一:PL/SQL