求大牛给个设计思路,关于将oracle的function中的条件和结果作为动态条件进行配置
--表及数据:-------------------
create table COTEST
(
co1 VARCHAR2(100),
co2 VARCHAR2(100)
);
insert into COTEST (co1, co2)
values ('1', 'aa_b');
insert into COTEST (co1, co2)
values ('1', 'a_b');
insert into COTEST (co1, co2)
values ('1', 'a_bb');
insert into COTEST (co1, co2)
values ('1', 'aa_bb');
insert into COTEST (co1, co2)
values ('2', 'aa_b');
insert into COTEST (co1, co2)
values ('2', 'a_b');
insert into COTEST (co1, co2)
values ('2', 'a_bb');
insert into COTEST (co1, co2)
values ('2', 'aa_bbb');
insert into COTEST (co1, co2)
values ('3', 'aa');
commit;
--function--------------------
create or replace function func_demo(co1 in varchar2, co2 in varchar2)
return varchar2 is
restr varchar2(100);
begin
if (co1 = '3') then
return '结果3';
end if;
if (co1 = '1') then
if (instr(co2, 'bb') > 0) then
return '结果1-1';
else
return '结果1-2';
end if;
end if;
if (co1 = '2') then
if (instr(co2, 'bbb') > 0) then
return '结果2-1';
else
return '结果2-2';
end if;
end if;
return(restr);
end func_demo;
--根据方法输出的结果---------
select t.*,func_demo(co1,co2) 结果 from cotest t
--end------------------------
--我想做这样的设计:----------
设计一个配置表,将上面的function中if的条件和对应输出的结果进行动态配置,
然后写一个方法,读取这个配置表中的条件并输出对应的结果