Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL Cursor Loop không cập nhật

Nếu tôi hiểu chính xác, tất cả những gì bạn cần là CROSS JOIN . Hãy thử

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;

Đây là SQLFiddle bản trình diễn.

Bây giờ bạn có thể kết thúc nó thành một thủ tục được lưu trữ nếu bạn đã truy cập

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;

Và sử dụng nó

CALL copy_bullets_test(10001, 3);

Đây là SQLFiddle demo cho trường hợp đó.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách lặp qua datagridview 1 và sao chép kết quả của vòng lặp sang datagridview2 ở một biểu mẫu và bảng DB khác

  2. JSON_SEARCH () - Tìm đường dẫn đến chuỗi trong tài liệu JSON trong MySQL

  3. PDO - Làm việc với tiền tố bảng

  4. Tôi nên giới hạn bao nhiêu truy vấn MySQL trên một trang? PHP / MySQL

  5. Tại sao Magento không thể cứu khách hàng sau khi tạo ID?