管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-02-25 79454ce9fbb025d35b7b28144bc9306cf9e546e3
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('测量(ESV)'); select * from lf.sys_meta where depcode like '0000%';
----------------------------------------------------------------------------------------------------- 14.FME日志表触发器
-- drop function fn_meta_insert();