在开发中遇到一个东西,分享一下:
在oralce中,原先用like 作为标记区分一些关联关系,但是,注意这个但是!终有一日,会有改变。
现在是有逻辑关系的。传入一个机构号码,需要根据逻辑判断的。
-
SO!!!
也是弯路不断。
开始显示java改,改完后发现配置还是超多呢,总不能写多个sql吧?后来考虑要是case when,写起来也是要死人的。
finally:
考虑函数或者存储过程,但是存储过程返回的貌似得用游标才能打开,根本不是我想要的结果集啊!
h1 markdown 用的少,试试
create type row_type as object(a varchar2(10));
create type table_type as table of row_type;
create or replace function getDXQ(
a in varchar2
)
return table_type pipelined
is
v row_type;--定义v为行对象类型
begin
for thisrow in (select comcode a from ldcom where comcode like a||'%' ) loop
v := row_type(thisrow.a );
pipe row (v);
end loop;
return;
end;
select * from table(getDXQ('86'));
h1 nice!!!