コメント |
取引先 : 50 件 0001 〜 0050
商品 : 100 件 0001 〜 0100
数量 : 1 〜 20
@DIV
BEGIN
DBMS_OUTPUT.PUT_LINE('デバッグ:開始');
/************************************************/
/* 社員マスタと同一フォーマットの */
/* 社員テーブルをクリア */
/************************************************/
WK_VALUE := 'TRUNCATE TABLE "取引データ"';
EXECUTE IMMEDIATE WK_VALUE;
/************************************************/
/* ループを引数の回数ぶん実行する */
/************************************************/
FOR i IN 1..PM_NUMBER LOOP
TARGET_ROW := DBMS_RANDOM.VALUE(1,4);
TARGET_DATE := TO_DATE('2008/04/01');
TARGET_DATE := ADD_MONTHS( TARGET_DATE, DBMS_RANDOM.VALUE(0,2) );
TARGET_DATE := TARGET_DATE + DBMS_RANDOM.VALUE(0,30);
TARGET_DATE := TRUNC(TARGET_DATE);
TARGET_CODE1 := LTRIM(TO_CHAR( DBMS_RANDOM.VALUE(1,50), '0000' ));
FOR j IN 1..TARGET_ROW LOOP
TARGET_CODE2 := LTRIM(TO_CHAR( DBMS_RANDOM.VALUE(1,100), '0000' ));
TARGET_SU := TRUNC(DBMS_RANDOM.VALUE(1,20));
INSERT INTO "取引データ"
(
"取引区分"
,"伝票番号"
,"行"
,取引日付
,取引先コード
,商品コード
,数量
)
VALUES (
'10'
,i
,j
,TARGET_DATE
,TARGET_CODE1
,TARGET_CODE2
,TARGET_SU
);
END LOOP;
END LOOP;
/**********************************************************/
/* 一番外側のブロックの例外処理 */
/**********************************************************/
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('例外発生:'||SQLCODE||':'||SQLERRM);
END;
@END
|