创建函数模板
CREATE OR REPLACE FUNCTION dic_val--定义函数
(dict_id IN VARCHAR2, code IN VARCHAR2) --定义参数
RETURN varchar2 --返回类型,每个函数只有一个返回类型
IS/AS
dic_value VARCHAR2(64);--声明区,定义变量
BEGIN
--函数区
RETURN(dic_value); --返回值
END ;
创建函数报错
======================================================
CREATE OR REPLACE FUNCTION dic_val(dict_id IN VARCHAR2, code IN VARCHAR2)
RETURN varchar2 IS dic_value VARCHAR2(64);
BEGIN
SELECT T.name INTO dic_value FROM biz_enum_st t WHERE t.dict_id=dict_id AND t.code=code;
RETURN(dic_value);
END ;
--执行下面会报错'SELECT INTO中包含多行数据'
select DIC_VAL(字典类型,字段名称) from YBSE
例如
select DIC_VAL('dept',name) from YBSE
修改函数
修改如下;%type 引用数据类型。%rowtype
CREATE OR REPLACE FUNCTION dic_val
(dict_id IN VARCHAR2, code IN VARCHAR2)
RETURN varchar2
IS dic_value VARCHAR2(64);
v_dict_id YBSE.dict_id%type;--'也可以 v_dict_id varchar2(64)'
v_code YBSE.code%type;--'修改位置'
BEGIN
v_dict_id:=dict_id; '修改位置'
v_code:=code;'修改位置'
SELECT T.name INTO dic_value FROM biz_enum_st t WHER E t.dict_id=v_dict_id
AND t.code=v_code;
RETURN(dic_value);
END ;
--执行下面内容即可
select DIC_VAL('DEPT',name) from YBSE
声明变量
declare --声明变量
v_a number:=10; --定义变量 code IN YB_SE.code%type数字类型 , := 赋值 ,使用;结束
begin
end;
/ --执行符,命令行执行时需要加上。