Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL कर्सर लूप अपडेट नहीं होता है

अगर मैं सही ढंग से समझूं तो आपको बस 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. MySQL 5.5 के बाद से BIGINT आउट-ऑफ-रेंज त्रुटि

  2. मैं एक पंक्ति का चयन कैसे कर सकता हूं जिसमें अधिकतम संख्या एक समूह कर रही है

  3. क्या आप Doctrine 2 DQL के साथ सबक्वायरी में शामिल हो सकते हैं?

  4. मैं PHP में MySQL डेटाबेस को SQLite में कैसे बदल सकता हूँ?

  5. RODBC sqlSave के साथ कोई समस्या