【发布时间】:2014-01-01 04:42:30
【问题描述】:
Mysql 游标问题?
我编写了一个存储过程,它将从一个表中旅行的记录并将它们插入到 2-3 个不同的表中 使用插入语句。
问题是我正在检查 table1 中是否不存在记录,然后我将记录从 temptable 依次插入 table1、table2 ,但条件有一些问题我不知道它总是进入其他部分。
代码示例如下:
CREATE PROCEDURE `insertData`(In clientNo INT,In usedID INT)
BEGIN
declare mame varchar(100);
declare address varchar(100);
declare city varchar(50);
declare IdentityNO1 varchar(20)
declare cur1 cursor for select * from temptable;
declare continue handler for not found set done=1;
SET @clientNo = clientNO;
SET @userID = userID;
set done = 0;
open cur1;
igmLoop: loop
fetch cur1 into Name,Address,City,IdentityNO1,clientNo;
if done = 1 then leave igmLoop; end if;
//If no record exists in some records table1,table2.
IF ( (SELECT COUNT(*) FROM table1
WHERE IndentityNo=IdentityNo1
AND clientNo=@clientNo) < = 0)
INSERT INTO table1 (Name,IdentityNO) VALUES (name,IdentityNO1);
INSERT INTO table2 (Address,City) VALUES(address,city);
ELSE
INSERT INTO tblexceptional(Name,Address,City,IdentityNo)
VALUES(name,address,city,IdentityNo1);
end loop igmLoop;
close cur1;
END
【问题讨论】:
标签: mysql stored-procedures database-cursor