WHILE v_loop_sql_id <= v_loop_sql_max_id DO
IF p_begin_qh = 0 OR p_begin_qh = "" OR ISNULL(p_begin_qh) THEN
SET v_loop_num = v_min_qh;
ELSE
SET v_loop_num = p_begin_qh;
END IF;
TRUNCATE TABLE ss_success_list;
SELECT s.sql_content INTO v_loop_part_sql FROM ss_where_condition_sql_result_list s WHERE s.id = v_loop_sql_id;
WHILE v_loop_num < v_max_qh DO
SELECT MIN(srl.qh) INTO v_next_qh FROM ss_record_list srl WHERE srl.qh > v_loop_num;
SELECT srl.r1,srl.r2,srl.r3,srl.r4,srl.r5,srl.r6,srl.r7,srl.b1
INTO v_loop_next_record_r1,v_loop_next_record_r2,v_loop_next_record_r3,v_loop_next_record_r4,v_loop_next_record_r5,v_loop_next_record_r6,v_loop_next_record_r7,v_loop_next_record_b1
FROM ss_record_list srl WHERE srl.qh = v_next_qh;
SET v_flag1_count = 0;
SET v_flag2_count = 0;
TRUNCATE TABLE ss_sm_array_bi;
#动态生成v_loop_sql
SET v_loop_sql = CONCAT("INSERT INTO ss_sm_array_bi ","SELECT t_out2.sf_code,t_out2.num FROM (");
SET v_loop_sql = CONCAT(v_loop_sql,"SELECT t_out1.sf_code,t_out1.num FROM (");
SET v_loop_sql = CONCAT(v_loop_sql,"SELECT s.sf_code,s.num FROM ss_sm_list s ");
SET v_loop_sql = CONCAT(v_loop_sql,"LEFT JOIN ss_sf_list_solution_1_1 sf ON s.sf_code = sf.sf_code ");
SET v_loop_sql = CONCAT(v_loop_sql,"LEFT JOIN ss_anquan_qh_sf_list saq ON s.qh = saq.qh AND s.sf_code = saq.sf_code ");
SET v_loop_sql = CONCAT(v_loop_sql,"WHERE s.qh = ",v_loop_num," AND sf.num_type = 2 ");
SET v_loop_sql = CONCAT(v_loop_sql," ",v_loop_part_sql);
SET v_loop_sql = CONCAT(v_loop_sql,") t_out1 LIMIT 0,",v_sm_num,") t_out2;");
#执行动态sql
SET @v_sql=v_loop_sql;
PREPARE stmt FROM @v_sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
#++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SELECT COUNT(1) INTO v_exist FROM ss_sm_array_bi s
WHERE (s.num = v_loop_next_record_r1 OR s.num = v_loop_next_record_r2 OR s.num = v_loop_next_record_r3 OR s.num = v_loop_next_record_r4
OR s.num = v_loop_next_record_r5 OR s.num = v_loop_next_record_r6 OR s.num = v_loop_next_record_r7 OR s.num = v_loop_next_record_b1);
SELECT COUNT(1) INTO v_real FROM ss_sm_array_bi s;
IF v_real >= v_sm_num THEN
IF v_exist <> 0 THEN
INSERT INTO ss_success_list VALUES (v_loop_num,0);
ELSE
INSERT INTO ss_success_list VALUES (v_loop_num,1);
END IF;
END IF;
SELECT MIN(srl.qh) INTO v_loop_num FROM ss_record_list srl WHERE srl.qh > v_loop_num;
END WHILE;
SELECT COUNT(1) INTO v_flag1_count FROM ss_success_list a WHERE a.flag = 1;
SELECT COUNT(1) INTO v_flag2_count FROM ss_success_list a WHERE a.flag = 0;
UPDATE ss_where_condition_sql_result_list SET right_kill_total = v_flag1_count , wrong_kill_total = v_flag2_count
WHERE id = v_loop_sql_id;
SELECT MIN(id) INTO v_loop_sql_id FROM ss_where_condition_sql_result_list s WHERE s.id > v_loop_sql_id;
END WHILE;