@DIV
CREATE OR REPLACE PROCEDURE LIST_MEMBER
(
/* カーソルの範囲指定用 */
PM_STRING IN VARCHAR2
)
/**********************************************************/
/* 変数の定義 */
/**********************************************************/
AS
RET_VALUE VARCHAR2(2000);
WK_VALUE VARCHAR2(2000);
/* カーソルの定義(主に複数読み込み用) */
CURSOR cur_main IS
SELECT * FROM 社員マスタ
where 社員コード <= PM_STRING;
/* cur_main に対応する社員マスタのフォーマット */
COMMENT_REC cur_main%ROWTYPE;
/**********************************************************/
/* 処理開始 */
/**********************************************************/
BEGIN
DBMS_OUTPUT.PUT_LINE('デバッグ:開始');
DBMS_OUTPUT.PUT_LINE('デバッグ:引数:'||PM_STRING);
/* カーソルを開く */
OPEN cur_main;
/* ループ処理(ブロック) */
LOOP
/* 定義したレコード変数に読み込み */
FETCH cur_main INTO COMMENT_REC;
/* カーソルに対するシステム変数でデータ終わりを判断 */
if cur_main%NOTFOUND then
/* ループ処理を脱出 */
EXIT;
end if;
/* デバッグの表示(実際は更新処理等を行う */
DBMS_OUTPUT.PUT_LINE('結果:'||COMMENT_REC.氏名);
END LOOP;
/* カーソルを閉じる */
CLOSE cur_main;
/**********************************************************/
/* 一番外側のブロックの例外処理 */
/**********************************************************/
$if 1=1 $then
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('例外発生:'||SQLCODE||':'||SQLERRM);
$end
END;
@END
|