我的方法只能使代码看起来简洁一些,但效率并没有提高多少。 select a.dm||b.dm||c.dm||d.cm||'自然村' into Result
from t_tybm a,t_tybm b,t_tybm c,t_zrcxx d
where a.tybm=substr(p_tybmid,1,4)||'000000' AND
b.tybm=substr(p_tybmid,1,6)||'0000' AND
c.tybm=substr(p_tybmid,1,8)||'00' AND
d.tybm_id=p_tybmid and d.zlcbm=substr(p_jmbh,1,2);
from t_tybm a,t_tybm b,t_tybm c,t_zrcxx d
where a.tybm=substr(p_tybmid,1,4)||'000000' AND
b.tybm=substr(p_tybmid,1,6)||'0000' AND
c.tybm=substr(p_tybmid,1,8)||'00' AND
d.tybm_id=p_tybmid and d.zlcbm=substr(p_jmbh,1,2);
cursor t_sor(v_tybm varchar2) is
select dm from t_tybm where tybm=v_type;
begin
for v_sor in t_sor(substr(p_tybmid,1,4)||'000000') loop
Result:=v_sor.dm;
end loop;
for v_sor in t_sor(substr(p_tybmid,1,6)||'0000') loop
Result:=Result||v_sor.dm;
end loop;
......