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;