使用光标执行循环操作
DROP
PROCEDURE
IF
EXISTS
sp_opr;
CREATE
PROCEDURE
sp_opr()
BEGIN

/* 定义变量一 */
DECLARE
_Err_Code
CHAR
(
8
)
DEFAULT
''
;
/* 定义变量二 */
DECLARE
_Cnt
INT
DEFAULT
0
;
/* 光标 */
DECLARE
_done
INT
DEFAULT
0
;
DECLARE
_Cur_Error
CURSOR
FOR
SELECT
col1,col2
FROM
table
WHERE
rec_dd
=
ADDDATE(CURDATE(),
-
1
);
DECLARE
CONTINUE
HANDLER
FOR
SQLSTATE
'
02000
'
SET
_done
=
1
;
/* 打开光标 */
OPEN
_Cur_Error;
/* 循环执行 */
REPEAT
FETCH
_Cur_Error
INTO
_Err_Code, _Cnt;
--
读取下一行
IF
NOT
_done
THEN
--
这里的代码被循环执行(这里可以使用上面读取的值)
END
IF
;
UNTIL _done
END
REPEAT;
--
当_done=1时退出被循
/*关闭光标*/
CLOSE
_Cur_Error;

END
;































本文转自chy710博客园博客,原文链接:http://www.cnblogs.com/chy710/archive/2007/06/13/782481.html
,如需转载请自行联系原作者