2010年11月19日 2:18
仕事のメモ書き。
PL/SQLでバルクインサート処理をする際の注意点。
・UNDO領域について
一気に大量のUPDATEやDELETEをCOMMITした場合、UNDO領域が足りなくなる可能性があるらしい。UNDO領域はCOMMITをしても開放されず、コネクションを切断する必要がある。
・ProceducerとSQL
プロシージャのほうが複雑な処理に使える&共通関数を作成できるので、複雑な処理を使いまわしできる。デメリットとしては、DBへインストールする作業が発生するのでリリース作業がめんどくさい。
SQLは普通にCSHなどから呼び出して実行するだけ。複雑な処理になると可読性が下がる。
・ループの中で数値の操作などをするときはFORALLではなく、FOR文にすること
FORALLにすると、フェッチしてきた型(レコード型コレクション)に一致するエンティティにしか代入できない(と思われる)。