oracle函数与存储方法

oracle中的函数, 可以理解为java中的方法
有参数, 或者没有参数
通过return返回一个值

oracle存储过程跟函数唯一的区别, 存储过程不能通过return返回一个值

参数的类型,
in-----输入参数
out----输出参数

以简单的加法举例:

CREATE OR REPLACE 
FUNCTION cal_add(m1 IN NUMBER, m2 IN NUMBER) 
RETURN NUMBER
AS
rs NUMBER;
BEGIN
  rs := m1 + m2;
  RETURN rs;
END;

存储过程没有return值

例子:

CREATE OR REPLACE PROCEDURE mypro(snum IN NUMBER) AS
sn VARCHAR2(20);
sbir DATE;
BEGIN
  SELECT s.sname, s.sbirthday INTO sn, sbir FROM student s WHERE s.sno=snum;
  dbms_output.put_line(sn||'的生日是'||sbir);
END;*/

CREATE OR REPLACE PROCEDURE myprowithout(snum IN NUMBER,
                                         s_name OUT VARCHAR2,
                                         s_sex OUT VARCHAR2)
AS
BEGIN
  SELECT s.sname, s.ssex INTO s_name, s_sex FROM student s WHERE s.sno=snum;
END;
原文地址:https://www.cnblogs.com/angangxiaofa/p/7008498.html