Oracle

ストアドプロシージャ(PL/SQL)でファイル操作

ストアドプロシージャ内でファイルを読み込みたいなっと思って調べてみたら UTL_FILE というライブラリがあることが判明しました。

今回は UTL_FILE について紹介したいと思います。

UTL_FILEについて

UTL_FILE の GET_LINE() を使うと、ファイルから 1 行ずつデータを読み込んでプログラム上で扱うことができます。

ただ UTL_FILE.GET_LINE() は、読み込む行がなくなると NULL や論理値を返してくれるわけではなく Exception が発生します。

WHILE や LOOP などの比較演算子に使いたかったところですが、仕方なく EXCEPTION のブロックで NO_DATA_FOUND を受けます。

ストアドはループで continue が使えないのもちょっと面倒なところですね。

GOTO 使うしかないのかな・・・。