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. PL/SQLパッケージレベルのレコードタイプに関するメタデータ

    2. シーケンスで次の番号を取得する方法

    3. PostgreSQLでEXCLUDEを使用して隣接/重複するエントリを防止する

    4. AJAXを使用して選択オプションの選択でPHPクエリを実行するにはどうすればよいですか?