DROP PROCEDURE IF EXISTS Cursor_Test;# MySQL returned an empty result set (i.e. zero rows).
DELIMITER $$
CREATE PROCEDURE Cursor_Test()
BEGIN
DECLARE Project_Number_val VARCHAR( 255 );
DECLARE Project_List_val VARCHAR(255);
DECLARE no_more_rows BOOLEAN;
DECLARE loop_cntr INT DEFAULT 0;
DECLARE num_rows INT DEFAULT 0;
DECLARE projects_cur CURSOR FOR
SELECT Project_Id
FROM Project_Details;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET no_more_rows = TRUE;
OPEN projects_cur;
select FOUND_ROWS() into num_rows;
the_loop: LOOP
FETCH projects_cur
INTO Project_Number_val;
IF no_more_rows THEN
CLOSE projects_cur;
LEAVE the_loop;
END IF;
SET Project_List_val=CONCAT(`Project_Number_val`,'_List')
-
> ---> **Please check am I doing CONCAT correct here?**
Insert Into test (Panel_Id) select Panel_Id from Project_List_val where Project_Number_val='9';
> --->**Is this taking 9_List as table name?**
SET loop_cntr = loop_cntr + 1;
END LOOP the_loop;
select num_rows, loop_cntr;
END $$# MySQL returned an empty result set (i.e. zero rows).
DELIMITER
助言がありますか?こんにちは、みんな、
Project_Number という名前のストアド プロシージャに変数があり、varchar 型です。
私の要件は、「プロジェクト番号クエリごとに、テーブル project_Number_List がリストから結果を取得し、他のテーブルに挿入する」ことです
たとえば、Project_Number はこの 22,21,34,43,434 のようになる可能性があり、照会する必要がある対応するテーブルは、この 22_List、21_List、34_List のようなものです .....
Project_Number をループするためにカーソルを使用していますが、私の問題は、project_number と _list を混合する方法です。