我有一个存储过程,我在 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 ;