码迷,mamicode.com
首页 > 其他好文 > 详细

UNION DISTINCT

时间:2017-01-22 07:40:42      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:count   open   style   begin   limit   exist   procedure   one   call   

w同结构表读写合并。

 

  1 DROP PROCEDURE IF EXISTS w_ww_amzasin;
  2 DELIMITER /w/
  3 CREATE PROCEDURE w_ww_amzasin()
  4 BEGIN
  5   DECLARE done INT DEFAULT FALSE;
  6   DECLARE w_asin VARCHAR(16);
  7   DECLARE w_country VARCHAR(6);
  8   DECLARE wcur CURSOR FOR
  9                         SELECT asin,country FROM grab_amzreviews_asins
 10                                 UNION DISTINCT
 11                         SELECT asin,country FROM grab_amzsimilar_seller_asins
 12                                 UNION DISTINCT
 13                         SELECT asin,country FROM grab_amzlisting
 14                                 WHERE CONCAT(asin,LOWER(country)) NOT IN
 15                                     (SELECT CONCAT(asin,LOWER(country)) FROM amzasin) ;
 16   DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
 17 
 18   OPEN wcur;
 19   read_loop: LOOP
 20     FETCH wcur INTO w_asin,w_country;
 21     IF done THEN LEAVE read_loop;
 22     END IF;
 23         SET @w_nothhtps=www.amazon.;  
 24         SET @w_most=CONCAT(LOWER(w_country),/product/dp/,w_asin);
 25         CASE  LOWER(w_country)
 26                 WHEN ca THEN SELECT w;
 27                 WHEN in THEN SELECT w;
 28                 WHEN es THEN SELECT w;
 29                 WHEN it THEN SELECT w;
 30                 WHEN fr THEN SELECT w;
 31 
 32                 WHEN jp THEN SET @w_most=CONCAT(co.,@w_most);
 33                 WHEN uk THEN SET @w_most=CONCAT(co.,@w_most);
 34 
 35                 WHEN mx THEN SET @w_most=CONCAT(com.,@w_most);
 36 
 37                 WHEN us THEN SET @w_most=CONCAT(com/gp/product/,w_asin);
 38       ELSE
 39         BEGIN
 40         END;
 41     END CASE;
 42 
 43         SET @w_nothhtps=CONCAT(@w_nothhtps,@w_most);
 44         SET @wtmp = CONCAT(INSERT INTO  amzasin (asin,country,url) VALUES ( ",w_asin,",",w_country,",",@w_nothhtps,"));
 45         PREPARE  stmt FROM @wtmp ;
 46         EXECUTE  stmt ;
 47         DROP PREPARE stmt;
 48   END LOOP;
 49   CLOSE wcur;
 50 END/w/
 51 DELIMITER;
 52 CALL w_ww_amzasin( );
 53 
 54 
 55 
 56 DROP PROCEDURE IF EXISTS w_ww_amzasin;
 57 DELIMITER /w/
 58 CREATE PROCEDURE w_ww_amzasin()
 59 BEGIN
 60   DECLARE done INT DEFAULT FALSE;
 61   DECLARE w_asin VARCHAR(16);
 62   DECLARE w_country VARCHAR(6);
 63   DECLARE wcur CURSOR FOR SELECT asin,country FROM grab_amzlisting WHERE CONCAT(asin,LOWER(country)) NOT IN (SELECT CONCAT(asin,LOWER(country)) FROM amzasin );
 64   DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
 65 
 66   OPEN wcur;
 67   read_loop: LOOP
 68     FETCH wcur INTO w_asin,w_country;
 69     IF done THEN LEAVE read_loop;
 70     END IF;
 71         SET @w_nothhtps=www.amazon.;  
 72         SET @w_most=CONCAT(LOWER(w_country),/product/dp/,w_asin);
 73         CASE  LOWER(w_country)
 74                 WHEN ca THEN SELECT w;
 75                 WHEN in THEN SELECT w;
 76                 WHEN es THEN SELECT w;
 77                 WHEN it THEN SELECT w;
 78                 WHEN fr THEN SELECT w;
 79 
 80                 WHEN jp THEN SET @w_most=CONCAT(co.,@w_most);
 81                 WHEN uk THEN SET @w_most=CONCAT(co.,@w_most);
 82 
 83                 WHEN mx THEN SET @w_most=CONCAT(com.,@w_most);
 84 
 85                 WHEN us THEN SET @w_most=CONCAT(com/gp/product/,w_asin);
 86       ELSE
 87         BEGIN
 88         END;
 89     END CASE;
 90 
 91         SET @w_nothhtps=CONCAT(@w_nothhtps,@w_most);
 92         SET @wtmp = CONCAT(INSERT INTO  amzasin (asin,country,url) VALUES ( ",w_asin,",",w_country,",",@w_nothhtps,"));
 93         PREPARE  stmt FROM @wtmp ;
 94         EXECUTE  stmt ;
 95         DROP PREPARE stmt;
 96   END LOOP;
 97   CLOSE wcur;
 98 END/w/
 99 DELIMITER;
100 CALL w_ww_amzasin( );
101 
102 DROP PROCEDURE IF EXISTS w_ww_amzasin;
103 DELIMITER /w/
104 CREATE PROCEDURE w_ww_amzasin()
105 BEGIN
106   DECLARE done INT DEFAULT FALSE;
107   DECLARE w_asin VARCHAR(16);
108   DECLARE w_country VARCHAR(6);
109   DECLARE wcur CURSOR FOR SELECT asin,country FROM grab_amzsimilar_seller_asins WHERE CONCAT(asin,LOWER(country)) NOT IN (SELECT CONCAT(asin,LOWER(country)) FROM amzasin );
110   DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
111 
112   OPEN wcur;
113   read_loop: LOOP
114     FETCH wcur INTO w_asin,w_country;
115     IF done THEN LEAVE read_loop;
116     END IF;
117         SET @w_nothhtps=www.amazon.;  
118         SET @w_most=CONCAT(LOWER(w_country),/product/dp/,w_asin);
119         CASE  LOWER(w_country)
120                 WHEN ca THEN SELECT w;
121                 WHEN in THEN SELECT w;
122                 WHEN es THEN SELECT w;
123                 WHEN it THEN SELECT w;
124                 WHEN fr THEN SELECT w;
125 
126                 WHEN jp THEN SET @w_most=CONCAT(co.,@w_most);
127                 WHEN uk THEN SET @w_most=CONCAT(co.,@w_most);
128 
129                 WHEN mx THEN SET @w_most=CONCAT(com.,@w_most);
130 
131                 WHEN us THEN SET @w_most=CONCAT(com/gp/product/,w_asin);
132       ELSE
133         BEGIN
134         END;
135     END CASE;
136 
137         SET @w_nothhtps=CONCAT(@w_nothhtps,@w_most);
138         SET @wtmp = CONCAT(INSERT INTO  amzasin (asin,country,url) VALUES ( ",w_asin,",",w_country,",",@w_nothhtps,"));
139         PREPARE  stmt FROM @wtmp ;
140         EXECUTE  stmt ;
141         DROP PREPARE stmt;
142   END LOOP;
143   CLOSE wcur;
144 END/w/
145 DELIMITER;
146 CALL w_ww_amzasin( );
147 
148 DROP PROCEDURE IF EXISTS w_ww_amzasin;
149 DELIMITER /w/
150 CREATE PROCEDURE w_ww_amzasin()
151 BEGIN
152   DECLARE done INT DEFAULT FALSE;
153   DECLARE w_asin VARCHAR(16);
154   DECLARE w_country VARCHAR(6);
155   DECLARE wcur CURSOR FOR SELECT asin,country FROM grab_amzreviews_asins WHERE CONCAT(asin,LOWER(country)) NOT IN (SELECT CONCAT(asin,LOWER(country)) FROM amzasin );
156   DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
157 
158   OPEN wcur;
159   read_loop: LOOP
160     FETCH wcur INTO w_asin,w_country;
161     IF done THEN LEAVE read_loop;
162     END IF;
163         SET @w_nothhtps=www.amazon.;  
164         SET @w_most=CONCAT(LOWER(w_country),/product/dp/,w_asin);
165         CASE  LOWER(w_country)
166                 WHEN ca THEN SELECT w;
167                 WHEN in THEN SELECT w;
168                 WHEN es THEN SELECT w;
169                 WHEN it THEN SELECT w;
170                 WHEN fr THEN SELECT w;
171 
172                 WHEN jp THEN SET @w_most=CONCAT(co.,@w_most);
173                 WHEN uk THEN SET @w_most=CONCAT(co.,@w_most);
174 
175                 WHEN mx THEN SET @w_most=CONCAT(com.,@w_most);
176 
177                 WHEN us THEN SET @w_most=CONCAT(com/gp/product/,w_asin);
178       ELSE
179         BEGIN
180         END;
181     END CASE;
182 
183         SET @w_nothhtps=CONCAT(@w_nothhtps,@w_most);
184         SET @wtmp = CONCAT(INSERT INTO  amzasin (asin,country,url) VALUES ( ",w_asin,",",w_country,",",@w_nothhtps,"));
185         PREPARE  stmt FROM @wtmp ;
186         EXECUTE  stmt ;
187         DROP PREPARE stmt;
188   END LOOP;
189   CLOSE wcur;
190 END/w/
191 DELIMITER;
192 CALL w_ww_amzasin( );
193 
194 
195 
196 
197  
198  

 

UNION DISTINCT

标签:count   open   style   begin   limit   exist   procedure   one   call   

原文地址:http://www.cnblogs.com/yuanjiangw/p/6338130.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!