From 79454ce9fbb025d35b7b28144bc9306cf9e546e3 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 25 二月 2023 15:24:33 +0800 Subject: [PATCH] 1 --- data/db_fn.sql | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/data/db_fn.sql b/data/db_fn.sql index 451b41a..d21420b 100644 --- a/data/db_fn.sql +++ b/data/db_fn.sql @@ -291,26 +291,27 @@ select id, name, code from lf.sys_dir order by id; select fn_set_tab_codes(1, 1); select fn_set_tab_codes(0, 2); ------------------------------------------------------------------------------------------------------ 13.鑾峰彇鐩綍缂栫爜杩囨护鏉′欢 --- drop function fn_get_dirs(varchar); -create or replace function fn_get_dirs(name varchar) +----------------------------------------------------------------------------------------------------- 13.鑾峰彇鐩綍缂栫爜杩囨护鏉′欢 * +-- drop function fn_get_dir_similar(varchar); +create or replace function fn_get_dir_similar(name varchar) returns varchar as $$ declare code varchar; str varchar := ''; begin for code in execute 'select code from lf.sys_dir where name=''' || name || '''' loop - str := str || ' or depcode like ''' || code || '%'''; + str := str || '|' || code; end loop; if length(str) > 0 then - return substr(str, 5); + return substr(str, 1); end if; return '1=1'; end; $$ language plpgsql; +select * from lf.sys_meta where depcode similar to '(00|01|02)%'; select fn_get_dirs('鍩虹娴嬬粯'); select fn_get_dirs('娴嬮噺锛圗SV锛�'); select * from lf.sys_meta where depcode like '0000%'; ----------------------------------------------------------------------------------------------------- 14.FME鏃ュ織琛ㄨЕ鍙戝櫒 -- drop function fn_meta_insert(); -- Gitblit v1.9.3