sql >> Database >  >> RDS >> Mysql

MySQL Cursor Loop wordt niet bijgewerkt

Als ik het goed begrijp is alles wat je nodig hebt CROSS JOIN . Probeer

INSERT INTO bullets (product_code, bullet_text) 
SELECT m.product_code, b.bullet_text 
  FROM bullets b CROSS JOIN master m
 WHERE b.product_code = 10001
   AND m.product_group = 3
   AND m.product_code <> 10001;

Hier is SQLFiddle demo.

Nu kunt u het in een opgeslagen procedure opnemen als u naar

. ging
CREATE PROCEDURE copy_bullets_test (IN product_code_from INT, IN product_group_to INT)
INSERT INTO bullets (product_code, bullet_text) 
SELECT m.product_code, b.bullet_text 
  FROM bullets b CROSS JOIN master m
 WHERE b.product_code = product_code_from
   AND m.product_group = product_group_to
   AND m.product_code <> product_code_from;

En gebruik het

CALL copy_bullets_test(10001, 3);

Hier is SQLFiddle demo voor dat geval.




  1. MySQL - kan ik de maximaal toegestane tijd voor het uitvoeren van een query beperken?

  2. fout bij het lezen van asp.net-lidmaatschapstabellen in MySQL

  3. Sorteer op beste match in welsprekend

  4. De laatste dag van de maand vinden in SQL Server