1

私は以下のような手順を持っています

DROP PROCEDURE IF EXISTS mp_search_result;
CREATE PROCEDURE mp_search_result()                                                   
BEGIN
      CREATE TEMPORARY TABLE temp_projids(projid int);

       SET @strSearchSQL = 'SELECT DISTINCT project_id
                             FROM tblProjects'; 

      PREPARE stmt FROM @strSearchSQL;
      INSERT INTO temp_projids(projid) values ();
      EXECUTE stmt;
      DEALLOCATE PREPARE stmt;       

END;

次に、上記のクエリによって返されたプロジェクトIDを一時テーブルに挿入します。

実行前に挿入クエリをどこに書くか混乱しています。

私の要件は、上記で投稿したクエリとは異なることに注意してください。

を形成するために多くのif条件と連結を使用してい@strSearchSQLます。

コードの複雑さを防ぐために、これらを削除しました。

4

1 に答える 1

6
DROP PROCEDURE IF EXISTS mp_search_result;
CREATE PROCEDURE mp_search_result()                                                   
BEGIN
      CREATE TEMPORARY TABLE temp_projids(projid int);

       SET @strSearchSQL = 'INSERT INTO temp_projids(projid)  SELECT DISTINCT project_id
                             FROM tblProjects'; 

      PREPARE stmt FROM @strSearchSQL;
      EXECUTE stmt;
      DEALLOCATE PREPARE stmt;       

END;
于 2012-10-09T12:42:22.643 に答える