首页 > 其他 > 详细

怎样合并分支条件,减少代码行数?

时间:2017-01-20 17:35:09      阅读:257      评论:0      收藏:0      [点我收藏+]

w怎样合并分支条件,减少代码行数?

 1 DROP PROCEDURE IF EXISTS w_self_update_amzasin;
 2 DELIMITER /w/
 3 CREATE PROCEDURE w_self_update_amzasin()
 4 BEGIN
 5   DECLARE done INT DEFAULT FALSE;
 6   DECLARE w_pkid INT;
 7   DECLARE w_asin VARCHAR(16);
 8   DECLARE w_country VARCHAR(6); 
 9   DECLARE wcur CURSOR FOR SELECT pkid,asin,country FROM amzasin;
10   DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
11 
12   OPEN wcur;
13   read_loop: LOOP
14     FETCH wcur INTO w_pkid,w_asin,w_country;
15     IF done THEN LEAVE read_loop;
16     END IF;
17         SET @w_nothhtps=www.amazon.;  
18         SET @w_most=CONCAT(LOWER(w_country),/product/dp/,w_asin);
19         CASE  LOWER(w_country)
20             WHEN ca THEN SELECT w; 
21             WHEN in THEN SELECT w; 
22             WHEN es THEN SELECT w; 
23             WHEN it THEN SELECT w; 
24             WHEN fr THEN SELECT w; 
25 
26             WHEN jp THEN SET @w_most=CONCAT(co.,@w_most); 
27             WHEN uk THEN SET @w_most=CONCAT(co.,@w_most); 
28 
29             WHEN mx THEN SET @w_most=CONCAT(com.,@w_most); 
30 
31             WHEN us THEN SET @w_most=CONCAT(com/gp/product/,w_asin); 
32       ELSE
33         BEGIN
34         END;
35     END CASE;
36 
37         SET @w_nothhtps=CONCAT(@w_nothhtps,@w_most);
38         SET @wtmp=CONCAT(UPDATE amzasin , SET url=",@w_nothhtps," WHERE pkid=,w_pkid);
39         PREPARE  stmt FROM @wtmp ;
40         EXECUTE  stmt ;
41         DROP PREPARE stmt;
42   END LOOP;
43   CLOSE wcur;
44 END/w/
45 DELIMITER;
46 CALL w_self_update_amzasin(); 

 

ERROR

 1 DROP PROCEDURE IF EXISTS w_self_update_minerasinlist_minerasinlist;
 2 DELIMITER /w/
 3 CREATE PROCEDURE w_self_update_minerasinlist()
 4 BEGIN
 5   DECLARE done INT DEFAULT FALSE;
 6   DECLARE w_autoid INT;
 7   DECLARE w_asin VARCHAR(16);
 8   DECLARE w_countrycode VARCHAR(6); 
 9   DECLARE wcur CURSOR FOR SELECT autoid,asin,countrycode FROM minerasinlist;
10   DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
11 
12   OPEN wcur;
13   read_loop: LOOP
14     FETCH wcur INTO w_autoid,w_asin,w_countrycode;
15     IF done THEN LEAVE read_loop;
16     END IF;
17         SET @w_nothhtps=www.amazon.;  
18         SET @w_most=CONCAT(LOWER(w_countrycode),/product/dp/,w_asin);
19         CASE  LOWER(w_countrycode)
20                 WHEN ca 
21                 WHEN in 
22                 WHEN es 
23                 WHEN it 
24                 WHEN fr THEN SELECT w; 
25 
26                 WHEN jp 
27                 WHEN uk THEN SET @w_most=CONCAT(co.,@w_most); 
28 
29                 WHEN mx THEN SET @w_most=CONCAT(com.,@w_most); 
30 
31                 WHEN us THEN SET @w_most=CONCAT(com/gp/product/,w_asin); 
32       ELSE
33         BEGIN
34         END;
35     END CASE;
36 
37         SET @w_nothhtps=CONCAT(@w_nothhtps,@w_most);
38         SET @wtmp = CONCAT(UPDATE minerasinlist , SET url=",@w_nothhtps," WHERE autoid=,w_autoid);
39         PREPARE  stmt FROM @wtmp ;
40         EXECUTE  stmt ;
41         DROP PREPARE stmt;
42   END LOOP;
43   CLOSE wcur;
44 END/w/
45 DELIMITER;
46 CALL w_self_update_minerasinlist( ); 

 

怎样合并分支条件,减少代码行数?

原文:http://www.cnblogs.com/yuanjiangw/p/6323122.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!