Oracle 字典表使用函数自动转码,自定义函数传参

Oracle 字典表使用函数自动转码,自定义函数传参

编码文章call10242025-01-17 10:54:1421A+A-

创建函数模板

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;
/ --执行符,命令行执行时需要加上。
点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4