oracle函数查询数据字典

1. 定义数据字典表

create table EI_DICT
(
  id        VARCHAR2(32) not null,
  dic_type  VARCHAR2(32),
  dic_key   VARCHAR2(32),
  dic_value VARCHAR2(32),
  act_ind   VARCHAR2(1),
  sort_ord  NUMBER(3)
);
comment on column EI_DICT.act_ind
  is '激活状态 1激活 2未激活';
comment on column EI_DICT.sort_ord
  is '排序';

2. 插入测试数据

insert into ei_dict (ID, DIC_TYPE, DIC_KEY, DIC_VALUE, ACT_IND, SORT_ORD)
values ('1', 'test', 'zh', 'china', '1', 1);
insert into ei_dict (ID, DIC_TYPE, DIC_KEY, DIC_VALUE, ACT_IND, SORT_ORD)
values ('2', 'test', 'en', 'english', '1', 2);

3. 编写函数查询数据字典

CREATE OR REPLACE FUNCTION fn_dblookup(p_type IN VARCHAR2, p_key IN VARCHAR2) RETURN varchar2

IS dic_value VARCHAR2(64);

BEGIN
  SELECT dic_value INTO dic_value FROM ei_dict t WHERE t.dic_type=p_type AND dic_key=p_key;
RETURN (dic_value);

END fn_dblookup;

4. 测试结果

SELECT fn_dblookup('test','en') FROM dual;

结果如下:

 

转载于:https://www.cnblogs.com/xzs603/p/10734517.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值