Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL Cursor Loop не се актуализира

Ако разбирам правилно всичко, от което се нуждаете, е CROSS JOIN . Опитайте

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;

Ето го SQLFiddle демонстрация.

Сега можете да го обвиете в съхранена процедура, ако отидете на

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;

И го използвайте

CALL copy_bullets_test(10001, 3);

Ето го SQLFiddle демонстрация за този случай.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php+mysql:вмъкнете php масив в mysql

  2. как да игнорирате условие в клауза where

  3. Как да премахнете всички неалфа-цифрови знаци от низ в MySQL?

  4. Свържете MySQL към приложението Spring

  5. Може ли поле с тип ДАТА да има стойност ПО ПОДРАЗБИРАНЕ с CURRENT_TIMESTAMP?