Oracle存储过程,使用PL/SQL工具测试

先描述一下Oracle存储过程的基本概念:
概念存储子程序应用子程序存储位置 存储在数据库中存储在应用程序中调用方式任何数据库工具或应用中都可以调用只用在子程序建立的应用中才能调用相互调用 不可以调用应用子程序可以调用存储子程序建立子程序的文档存储的位置

Oracle数据库存储过程的语法:

CREATE [ORReplace]PROCEDURE[schema.] procedure_name
  [(argument [{IN|OUT|INOUT}] datatype,
  ...
  argument [{IN|OUT|INOUT}] datatype)]
  {IS | AS}
  [descriptionpart说明部分]
  BEGIN
  SQLSTATEMENT语句序列
  [EXCEPTION例外处理]
  END[procedureName过程名];

使用例子:

--创建存储过程
CREATE OR REPLACE Procedure Proc_Insert2  
(  
       senterpriseno     in      int,  
       sbankname      in   varchar2 ,  
       spayname  in     varchar2, 
       sbankno   in   varchar2, 
       sman    in   varchar2,
       spayno   in varchar2
)  
is  

begin  
       Insert into ACCOUNTS(id, enterpriseno, bankname,bankno, payname, man,add_time,payno)  
       values(seq_ACCOUNTS.nextval,senterpriseno,sbankname,sbankno,spayname,sman ,sysdate,spayno);  

end Proc_Insert2; 

--调用存储过程
begin  
Proc_Insert2(1111,'银行','10010','下达','admin', '216546464');  
commit;  
end; 

使用一个添加的存储过程例子来进行解释Oracle存储过程的语法。
在PL/SQL中执行,创建存储过程。

这里写图片描述

右键创建的存储过程点击“编辑”,点击“F8” 无错误表示创建无误
可以用上面的调用存储过程进行测试,或者右键存储过程,点击“测试”进行测试


创建一个带返回参数的存储过程
CREATE OR REPLACE Procedure testret
(v_payno IN accounts.payno%TYPE,
     v_enterpriseno OUT accounts.enterpriseno%TYPE)
is

begin
       SELECT enterpriseno INTO v_enterpriseno FROM accounts WHERE payno=v_payno;
              DBMS_OUTPUT.PUT_LINE('编码为'||v_payno||'的员工已经查到!');
EXCEPTION
     WHEN NO_DATA_FOUND THEN
      DBMS_OUTPUT.PUT_LINE('你需要的数据不存在!');
      WHEN OTHERS THEN
      DBMS_OUTPUT.PUT_LINE('发生其它错误!');
end testret; 


其中in 表示输入
out表示输出

同上述 右键编辑,F8执行无误,右键进行测试
这里写图片描述

执行成功,会返回sql语句查询结果。

Oracle存储过程详解

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值