骨だけで使ってません。カーソルのテーブルを適時変更してもらえば、コピペして使えます。
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_loopupdt_shporder_deliv`(
IN `ivtrydt` DATE,
IN `sessionid` VARCHAR(70)
)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT '出庫指図在庫引き当て履歴更新店別明細(これは不要なので処理は空 テンプレート用)'
BEGIN
/* 変数宣言 */
DECLARE noskid INT;
DECLARE noskcdgoods VARCHAR(20);
DECLARE noskcddeliv VARCHAR(8);
DECLARE noskqty INT;
/* カーソル継続判断フラグ */
DECLARE done INT DEFAULT 0;
/* カーソル定義 */
DECLARE nosk CURSOR FOR
SELECT
ID, CD_GOODS, CD_DELIV, QTY
FROM
h_shporder
WHERE
DT_IVTRY = ivtrydt;
/* 走査継続判断用 */
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
OPEN nosk;
delete from tst where 1 = 1;
REPEAT
/* 変数に格納 */
FETCH nosk INTO noskid, noskcdgoods, noskcddeliv, noskqty;
/* ここにやりたい処理を入れるとよい */
/* MySQLではストアドのデバッグは出来ないので、デバッグは一時テーブルとかで行う */
UNTIL done END REPEAT;
CLOSE nosk; /* カーソルのクローズ */
END
コメントを投稿するにはログインしてください。