From f15c13bea9f5b47e4527ae9ec715c54602a9ae45 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 25 二月 2023 14:35:28 +0800 Subject: [PATCH] 1 --- data/db_fn.sql | 31 +++++++++++++++++++++++++------ 1 files changed, 25 insertions(+), 6 deletions(-) diff --git a/data/db_fn.sql b/data/db_fn.sql index 9d4d1e3..451b41a 100644 --- a/data/db_fn.sql +++ b/data/db_fn.sql @@ -291,7 +291,28 @@ 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.FME鏃ュ織琛ㄨЕ鍙戝櫒 +----------------------------------------------------------------------------------------------------- 13.鑾峰彇鐩綍缂栫爜杩囨护鏉′欢 +-- drop function fn_get_dirs(varchar); +create or replace function fn_get_dirs(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 || '%'''; + end loop; + + if length(str) > 0 then + return substr(str, 5); + end if; + + return '1=1'; + end; +$$ language plpgsql; + +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(); create or replace function fn_meta_insert() returns trigger as $$ begin @@ -309,7 +330,7 @@ /*insert into lf.sys_fme_log (parentid,dirpath,pg_ns,tcmc,tcdm,count) values ('8fb3c3dd-6a12-488d-80ae-a93cc7e8b2e3','','bs','涓嚎鎴愭灉琛�','m_pipelinepoint',0); select * from bs.m_pipelinepoint where parentid='8fb3c3dd-6a12-488d-80ae-a93cc7e8b2e3';*/ ------------------------------------------------------------------------------------------------------ 14.鍗曚綅琛ㄨЕ鍙戝櫒 +----------------------------------------------------------------------------------------------------- 15.鍗曚綅琛ㄨЕ鍙戝櫒 -- drop function fn_dep_insert(); create or replace function fn_dep_insert() returns trigger as $$ begin @@ -326,7 +347,7 @@ select * from lf.sys_dep where pid = 0 order by id; /*insert into lf.sys_dep (pid,name,level,order_num) values (0,'鏂板崟浣�',1,2); delete from lf.sys_dep where pid = 0 and id > 1;*/ ------------------------------------------------------------------------------------------------------ 15.鐩綍琛ㄨЕ鍙戝櫒 +----------------------------------------------------------------------------------------------------- 16.鐩綍琛ㄨЕ鍙戝櫒 -- drop function fn_dir_insert(); create or replace function fn_dir_insert() returns trigger as $$ begin @@ -343,9 +364,7 @@ select * from lf.sys_dir where pid = 0 order by id; /*insert into lf.sys_dir (pid,name,level,order_num) values (0,'鏂扮洰褰�',1,6); delete from lf.sys_dir where pid = 0 and id > 309;*/ - - ------------------------------------------------------------------------------------------------------ 16.璺緞鍒嗘瀽 +----------------------------------------------------------------------------------------------------- 17.璺緞鍒嗘瀽 -- 鍒犻櫎宸插瓨鍦ㄧ殑鍑芥暟 -- drop function pgr_fromAtoB(varchar, double precision, double precision, double precision, double precision); -- Gitblit v1.9.3