专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

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

ins518 2024-10-30 04:06:31 技术文章 13 ℃ 0 评论

创建函数模板

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;
/ --执行符,命令行执行时需要加上。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表