ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: 取引先コード、商品コード、数量作成
名前: lightbox
処理選択
パスワード

件名 取引先コード、商品コード、数量作成
名前 lightbox
コメント
取引先 : 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