質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

1回答

368閲覧

oracleのカーソルforloopについて

pperryyyy

総合スコア7

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2018/04/19 10:10

oracleのカーソルforloop内のwhere内を条件分岐を記述したいのですが、動的処理のため記述できません。
カーソルforloop内にどのように記述すればいいのか教えてください。
具体例が無くてすみません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2018/04/19 14:12

カーソル内のfor loopって何ですか?カーソルはselectで定義しますけど、select文内にfor loopなど記述出来ないはずですが。掻い摘んだコードでも良いので追記して下さい。
guest

回答1

0

ベストアンサー

for loop って空白をひとつ入れていただきたいです。
for loop 参考 シンプルに一部を削って

PL/SQL

1DECLARE 2 L_COUNTS NUMBER ; 3BEGIN 4 FOR REC_TA IN 5 ( 6 SELECT 7 TA.TABLE_NAME 8 , 'SELECT /*+ INDEX_FFS(TA) PARALLEL(DEFAULT) */ COUNT(*) FROM "' || TA.TABLE_NAME || '" TA' AS SQL_STRING 9 , TA.IOT_TYPE 10 FROM USER_TABLES TA 11 WHERE -- 条件を記述できます。 12 TA.DROPPED = 'NO' -- except trash box, since Oracle10.1.0 13 ORDER BY 14 TA.TABLE_NAME 15 ) LOOP 16 DBMS_OUTPUT.PUT(RPAD(REC_TA.TABLE_NAME, 31)) ; 17 -- ↓に条件を記述できます。 18 IF REC_TA.IOT_TYPE IS NULL THEN 19 EXECUTE IMMEDIATE REC_TA.SQL_STRING INTO L_COUNTS ; 20 DBMS_OUTPUT.PUT_LINE(TO_CHAR(L_COUNTS, '999,999,999,999,990')) ; 21 ELSE 22 DBMS_OUTPUT.PUT_LINE('IOT_TYPE:' || REC_TA.IOT_TYPE || ' index composition table') ; 23 END IF ; 24 END LOOP ; 25END ; 26/

何をしたいのかもっと具体的に書かれた方が適切なコメントが付くかと。
質問に PL/SQL タグも追加されては?

投稿2018/04/19 10:30

編集2018/04/23 03:36
Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問