zoukankan      html  css  js  c++  java
  • 大象存储过程二

    -- 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;
    

      

  • 相关阅读:
    2016中国大学生程序设计竞赛
    POJ 2239 化二分图右集合二维为一位的最大匹配
    POJ 1274 二分图最大匹配简单单向
    二分图最大匹配模板
    找割点和割边
    HDU 4432 求因子+进制转换
    HDU 4438 概率 多个情况下的数学期望
    HDU 4424 并查集+贪心思想
    POJ 1611 记录节点数的并查集
    HDU 4430 二分查找
  • 原文地址:https://www.cnblogs.com/hoge/p/5130728.html
Copyright © 2011-2022 走看看