oracle-过程函数-demo

和存储过程区别

  1. 创建方式不一样
  2. 需要返回值

意义
基本情况不需要用,因为存储过程可以定义out变量输出值,过程函数可以返回一个值就没啥意义

类似js或者java…等的一个带返回值的方法

CREATE OR REPLACE
FUNCTION "helloworld2"(v_logo VARCHAR2) RETURN  VARCHAR2
is
BEGIN
	-- routine body goes here, e.g.
	-- DBMS_OUTPUT.PUT_LINE('Navicat for Oracle');
	RETURN 'helloworld'||v_logo;
END;
CREATE OR REPLACE
FUNCTION "helloworld2"(v_logo VARCHAR2) RETURN  VARCHAR2
is
BEGIN
	-- routine body goes here, e.g.
	-- DBMS_OUTPUT.PUT_LINE('Navicat for Oracle');
	RETURN 'helloworld'||v_logo;
END;
CREATE OR REPLACE
FUNCTION "get_sal" (v_dept number) RETURN number
-- 定义一个函数。获取给定部分的工资总和,要求部门号为定义的参数,工资总和定义为返回值
is
	v_sum_sal number := 0;
	
	cursor sum_sal_cursor is select salary from EMPLOYEES where DEPARTMENT_ID = v_dept;


BEGIN

	for c in sum_sal_cursor loop
		v_sum_sal := v_sum_sal + c.salary;
	end loop;
	
	RETURN v_sum_sal;
END;
CREATE OR REPLACE
function "get_sysdate" return   date
is
	v_date date;

begin
	v_date := sysdate;
	return v_date;
end;
CREATE OR REPLACE
FUNCTION "add_params"(v_num1 number,v_num2 number)
RETURN   NUMBER
is

BEGIN
	-- routine body goes here, e.g.
	-- DBMS_OUTPUT.PUT_LINE('Navicat for Oracle');
	RETURN v_num1 + v_num2;
END;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值