Oracle 存储函数

88 阅读1分钟

一、定义

可以接受一个或者多个函数,返回一个结果

二、语法

CREATE [OR REPLACE] EUNCTION 函数名称
    (参数名称 参数类型, 参数名称 参数类型)
RETURN 结果变量 数据类型
IS
    变量声明部分;
BEGIN
    逻辑部分;
    RETURN 结果变量
[EXCEPTION
    异常处理部分]
END

三、案例

需求

创建存储函数,根据地址id查询地址名称

image.png

创建语句

create or replace function fn_getaddress
(v_id number)
return varchar2
is 
  v_name varchar(20);
begin
  -- 查询地址表
  select street_address into v_name from locations where location_id = v_id;
  return v_name;
end;  

创建后可在fuctions中查看

image.png

函数调用

select distinct fn_getaddress(1200) from locations

image.png