SQLの窓

2011年09月10日


Oracle : PL/SQL : 暗黙のカーソルとループブロックを使用した自動行挿入

この書き方の目的は、更新対象の行が存在しなかった場合に自動的に行を追加して、集計更新の処理を継続する事です。

一回目の UPDATE でもし対象行が無ければ、暗黙のカーソルによって条件が設定されるので、INSERT 文で初期レコードを作成してループ処理でもう一度 UPDATE 文が実行されます。その場合は必ず対象行が存在するので、初回の集計がなされた後、ループを抜ける事になります。

もし、既に行が存在する場合は UPDATE 後には即ループを抜けます
LOOP
	UPDATE 集計用テーブル SET
		"現物数量" = "現物数量" - PM_数量,
		"更新日" = sysdate
	WHERE
		"組織" = V組織
		AND "大分類" = V大分類
		AND "商品コード" = V商品コード;
	IF SQL%NOTFOUND THEN
		INSERT INTO 集計用テーブル
		 VALUES (V組織,V大分類,V商品コード,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
		,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
		,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
		,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
		,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
		,0,0,0,0,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,NULL,sysdate,NULL,sysdate,0,0
		,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
		,0,0,0);
	ELSE
		EXIT;
	END IF;
END LOOP;




タグ:Oracle PL/SQL
posted by lightbox at 2011-09-10 09:39 | Oracle : PL/SQL | このブログの読者になる | 更新情報をチェックする
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり