
PL/SQLでFor文を複数使用したデータ作成プログラムを作っています。
作成したデータが一定数に達したら全てのFor文を抜ける処理を
入れたいのですが、うまくいきません。
VBのExit Functionなどのように複数のFor文を一気に抜けるやり方は
PL/SQLにはあるのでしょうか?
ソース---------------------------------------------------------
(中略)
StrCnt := 1;
For i IN 1..3 LOOP
StrA := "あ"
For j IN 1..3 LOOP
StrB := "い"
For k IN 1..3 LOOP
StrC := "う"
outputStr := StrA || StrB || StrC ;
DBMS_OUTPUT.PUT_LINE (outputStr) ;
StrCnt := StrCnt + 1 ;
--もしStrCntが5つ作成されればデータ作成を中断
IF StrCnt > 5 THEN
※ここで全てのループを解除したい
END IF;
EXIT LOOP;
EXIT LOOP;
EXIT LOOP;
(後略)
---------------------------------------------------------------
環境は
【OS】Window2000 Pro
【Oracle】8.1.6 です。
Oracleを始めて一週間足らずの未熟者なので、ソース自体が違うかもしれませんが、
どなたかご存知の方、教えてください!
No.1ベストアンサー
- 回答日時:
EXIT で試してみてください。
この回答への補足
すみません、よくよく見直したらIF文の条件がおかしかったです。
"IF StrNo = 6 THEN"ではなく、"IF (StrNo >= 6) THEN"にしたら
考えていた動きをしてくれました。
今度からはもっとよく考えてから質問します。
ありがとうございました!!
回答ありがとうございます。
早速試してみましたが、ループは一つしか抜けていないようです。
--------------------------------------------------------------------
StrNo :=1;
FOR Cnt1 IN 1 .. 4 LOOP
Str1 := StrArray(Cnt1);
FOR Cnt2 IN 1 .. 4 LOOP
Str2 := StrArray(Cnt2);
FOR Cnt3 IN 1 .. 4 LOOP
Str3 := StrArray(Cnt3);
OutStr := Str1 || Str2 || Str3;
StrNo := StrNo + 1;
IF StrNo = 6 THEN
DBMS_OUTPUT.PUT_LINE ('5件作成したので終了');
EXIT;
END IF;
END LOOP;
END LOOP;
END LOOP;
END;
/
--------------------------------------------------------------------
以上をSQL*PLUSで実行すると
"5件作成したので終了"と一行だけ表示されますが、
Select count(*)で件数を確認すると61件のデータが作成されています。
strArray()には
strArray(1):="あ"、strArray(2):="い" ・・・といった具合に
一文字ずつ文字データが入っています。
他に方法があるようでしたら教えてください。よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MS-Accessのエクスポートで異常...
-
SQLServerのデータを支店間で参...
-
Sqliteで使えない文字。
-
会社の諸事情により全システム...
-
DATファイルをEXCELで開きたい
-
【DB】同じトランザクション内...
-
SQL Server Management Studio ...
-
TPSとは・・・
-
accessの処理が遅い
-
復旧中のデータベースについて
-
VSAM,QSAM,BSAM,BPAM,BDAM
-
一つのテーブルだけを復元(リス...
-
mdfファイルの残骸について
-
tempdb の適切なサイズ
-
dbFailOnError とは?
-
Accessdでの「トランザクション...
-
復元に異常に時間がかかる
-
データベースのアタッチができ...
-
OracleのROWIDについて…
-
アタッチができない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MS-Accessのエクスポートで異常...
-
ACCESSのデータをWebブラウザで...
-
ACOSのRDBについて教え...
-
会社の諸事情により全システム...
-
Sqliteで使えない文字。
-
ACCESSのクエリからORACLEのDB...
-
1回目の実行に3分、2回目の実行...
-
SQLServerのデータを支店間で参...
-
accessの上限容量2Gでは容量が...
-
SQLSERVERのテーブルにデータを...
-
access SQLサーバとの接続によ...
-
別サーバーへのデータの同期更...
-
業務用のデータベースサーバー...
-
SQL ServerにExcelをリンクさせ...
-
ファイルメーカーで外部csvファ...
-
oracleデータベースの更新履歴
-
データファイルに書き込まれる...
-
ACCESS2010 Excelエクスポート ...
-
暗号化したDBのデータ移行
-
SSMSEを使ったクエリ結果をエク...
おすすめ情報