• 大象存储过程二


    -- Function: antifraudjudge(character varying)
    
    -- DROP FUNCTION antifraudjudge(character varying);
    
    CREATE OR REPLACE FUNCTION antifraudjudge(IN loancode character varying, OUT outvalue text)
      RETURNS text AS
    $BODY$
    
    	declare stmt record;                                            -- 声明被执行SQL变量
    	        _flag varchar (50);                                     -- 用于区分被插入表的变更
    	        exet record;                                            -- 声明被执行SQL返回结果变更
    	        message text;                                           -- 处理结果信息
                    sqltxt varchar(5000);                                            -- sql
                    idstr varchar(36);                                      -- 生成表中的ID
                    opuser varchar (50);                                    -- 操作员
    	begin
    		for stmt in select sql_auto, rules_tables,rules_type,id,rules_content,rules_relation from jk.t_jk_rules_config
    		loop 
    		  _flag := stmt.rules_type;
                      opuser:='sql';
                      sqltxt:=replace(stmt.sql_auto,'<','<');
                      sqltxt:=replace(sqltxt,'>','>');
                      sqltxt:=replace(sqltxt,'{loan_code}',''||loancode||'');
                      sqltxt:=replace(sqltxt,'NULL AS idstr',''''||getuuid32()||'''');
                      sqltxt:=replace(sqltxt,'NULL AS stmtid',''''||stmt.id||'''');
                      sqltxt:=replace(sqltxt,'NULL as rules_content',''''||stmt.rules_content||'''');
                      sqltxt:=replace(sqltxt,'NULL as rules_relation',''''||stmt.rules_relation||'''');
                      sqltxt:=replace(sqltxt,'NULL as CREATE_BY',''''||opuser||'''');
                      sqltxt:=replace(sqltxt,'NULL as CREATE_TIME',''''||sysdate||'''');
                      sqltxt:=replace(sqltxt,'NULL as MODIFY_BY',''''||opuser||'''');
                      sqltxt:=replace(sqltxt,'NULL as MODIFY_TIME',''''||sysdate||'''');
    
                     if _flag = '1' then         -- 反欺诈_销售人员信息匹配
    		    execute 'insert into jk.t_jk_antifraud_offend_sales(id, r_offend_id, loan_code, offend_sales_name, offend_tel, offend_name, work_flag, dict_job_grade, create_by, create_time, modify_by, modify_time)'||sqltxt;
                     elseif _flag = '2' then     -- 反欺诈_黑名单数据库信息匹配
    	            execute 'insert into jk.t_jk_antifraud_blacklist(id, r_offend_id, loan_code, dict_mark_type, dict_blacklist_type, blacklist_msg, blacklist_risk_msg, blacklist_relation, create_by, create_time, modify_by, modify_time) '||sqltxt;    
                     elseif _flag = '3' then     -- 反欺诈_查重内容
                        execute  'insert into jk.t_jk_antifraud_repeat(ID,R_OFFEND_ID,LOAN_CODE,CUSTOMER_NAME,REPEAT_INTO_TIME,REPEAT_RESULT_MSG,REPEAT_RELATION,CREATE_BY,CREATE_TIME,MODIFY_BY,MODIFY_TIME) '||sqltxt;    
    		 elseif _flag = '4' then     -- 反欺诈_案件信息表
    		    execute 'insert into jk.t_jk_antifraud_case(id, r_judge_id, case_code, loan_code, case_handle_day, case_handle_by, loan_customer_name, dict_antifraud_type, case_risk_msg, create_by, create_time, modify_by, modify_time) '||sqltxt; 
    		 end if;
    
    		end loop;
    		--message := '处理成功';
                    OutValue:=message;
    	end;
        $BODY$
      LANGUAGE plsrsql VOLATILE
      COST 100;
    ALTER FUNCTION antifraudjudge(character varying)
      OWNER TO jk;
    

      

  • 相关阅读:
    使用JQuery实现延迟加载UserControl
    VisualStudio中的列选择
    SQL SERVER 2008 CTE生成结点的FullPath
    woocommerce独立站建站
    Java NIO使用及原理分析(二)
    java.io学习总结 转载
    java io与装饰器模式
    函数式思维: 不变性
    函数式思维: 运用函数式思维,第2 部分
    maven添加非官方jar包到本地库(maven: install an external jar into local maven repository)
  • 原文地址:https://www.cnblogs.com/hoge/p/5130728.html
Copyright © 2020-2023  润新知