储存过程1.1

1、存储过程和存储函数的创建和调用。
2、存储过程和存储函数在Java项目中的应用。
3、如何在应用程序中访问包下的存储过程。

存储过程、存储函数 表、视图、索引、序列、同义词 属于数据库的对象 
定义:指存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数
相同点:完成特定功能的程序。
区别:是否能用return语句返回值
  • 创建: 用CREATE PROCEDURE命令建立存储过程和存储函数
语法:   create [or replace] procedure 过程名(参数列表)
        AS 
        PLSQL子程序体;
--打印一个Hello world
--存储过程没有参数

create or replace procedure sayHelloworld
as
--说明部分 PL/SQL程序
begin 
    dbms_output.put_line('hello world');
end;
  • 使用存储过程:

-- 方式1 exec sayHelloworld();
--方式2 
    set SERVEROUTPUT ON;
    begin
        sayHelloworld();
        sayHelloworld();
    end;
    /

如图

这里写图片描述

二、带参数的存储过程 此存储过程包含了一个存储函数,包含一个输入函数

  • 举例:为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水
eno in number 确定eno 为输入类型的参数 类型为number   

 - create or replace procedure raisesalary(eno in number)
as 
--定义一个变量保存薪水
pasl emp.sal%type;
begin
--得到涨之前的薪水
select sal into pasl from emp where empno = eno;
--给员工涨100块
update emp set sal = sal + 100 where empno = eno;

--需不需要commit?
--注意:一般不在存储过程或者存储函数中,commit和rollback

--打印 
dbms_output.put_line('涨前: '|| pasl || ' 涨后: ' || (pasl+100));

end;
/

这里写图片描述

--Eg2 查询某个员工的姓名,月薪和职位

CREATE OR REPLACE procedure queryemp(eno in number,pename out varchar2,psal out varchar2,pjob out varchar2)
AS
BEGIN
     select ename,sal,JOB  into pename,psal,pjob from emp where empno = eno;
END;
/ 

in和out 参数
过程和函数都可以通过out指定一个或多个输出参数。我们可以利用out 参数,
在过程和函数中实现返回多个值

  • 存储过程和存储函数都可以有out参数
  • 存储过程和存储函数都可以有多个out参数
  • 存储过程可以通过out参数来实现返回值
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值