Oralce函数的存储过程

Oralce函数

  • 简单的存储过程

--命名pl/sql块 ->存储过程

create procedure prod_JianDan

  is

  begin

    dbms_output.put_line('简单的存储过程');

  end;

--调用存储过程

call prod_JianDan();

--如果create or replace procedure 写了这个就会取代命名相同

--一般or replace可写可不写

  • 出参/入参/出入参的存储过程

入参 -> in  出参 ->out 出入参 ->in out

  1. 入参

create or replace procedure prod_Ru(empno in number,sal in number)

   is

   Begin

-- empno := 99; -- 入参不允许作为赋值目标

      dbms_output.put_line('最简单的存储过程'||empno);

      dbms_output.put_line('最简单的存储过程'||sal);

end;

--调用出参的存储过程

call prod_Ru(10,20); 

call prod_Ru(empno => 10, sal => 20);

call prod_Ru(sal => 10, empno => 20);

  1. 出参

create or replace procedure (job out varchar2)

 is begin

    job := '扫地僧';    

   end;   

-- 出参参数的调用

declare 

  v_job varchar2(20);

  begin

     prod_Chu(v_job);

     dbms_output.put_line(v_job);

end;

  1. 出入参

create or replace procedure prod_RuChu(deptNo in out number)

 is begin

    dbms_output.put_line('最简单的存储过程'||deptNo);

    deptNo := 33;   

    dbms_output.put_line('最简单的存储过程'||deptNo);

   end;   

-- 出参参数的调用

declare 

   v_deptNo number(4) default 11;

  begin

     prod_RuChu(v_deptNo);

     dbms_output.put_line(v_deptNo);

end;

  1. 删除存储过程

drop procedure prod_emp;

三、函数的存储过程

-- 函数定义及操作  [在sql中使用]

create or replace function fun_emp(empno in number)

    return number

    is     begin

       dbms_output.put_line('测试函数');

       if empno > 7788 then         

          return empno * 2;

       end if;

       return empno * 1.5;

       end;      

-- 调用函数

declare

v_re number(10);

begin

  v_re := fun_emp(10);  

  dbms_output.put_line(v_re);

  end;  

select empno,fun_emp(empno) from emp;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值