储存过程1.1

来源:互联网 发布:无间道 知乎 编辑:程序博客网 时间:2024/06/07 07:17

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

存储过程、存储函数 表、视图、索引、序列、同义词 属于数据库的对象 定义:指存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数相同点:完成特定功能的程序。区别:是否能用return语句返回值
  • 创建: 用CREATE PROCEDURE命令建立存储过程和存储函数
语法:   create [or replace] procedure 过程名(参数列表)        AS         PLSQL子程序体;--打印一个Hello world--存储过程没有参数create or replace procedure sayHelloworldas--说明部分 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)ASBEGIN     select ename,sal,JOB  into pename,psal,pjob from emp where empno = eno;END;/ 

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

  • 存储过程和存储函数都可以有out参数
  • 存储过程和存储函数都可以有多个out参数
  • 存储过程可以通过out参数来实现返回值
原创粉丝点击