while ループ内に select ステートメントへの挿入があるストアド プロシージャがあります。ストアド プロシージャは正常に作成されますが、実行すると 0 行が影響を受けると表示されます。単一のデータ値のwhileループがないと、spはデータを返します。ただし、同じクエリがwhileループ内にある場合、影響を受ける0行が返されます。
どうしたの
DELIMITER $$
CREATE PROCEDURE WhileLoopProc1234(INOUT indate DATE,INOUT outdate DATE)
BEGIN
DECLARE x DATE;
DECLARE y DATE;
DECLARE z DATE;
CREATE TABLE temp2( cardno VARCHAR(10),datevalue DATE );
SET x = indate;
SET y = outdate;
WHILE x!=y DO
INSERT INTO temp2( cardno,datevalue)
select CARDNO,x from test_prefixmaster
where CARDNO not in ( select CARDNO from test_prefixtransactions where Date(S_DateTime)=x);
SET x = x + 1;
END WHILE;
SELECT * from temp2;
DROP TABLE temp2;
END$$
DELIMITER ;