宣言されたカーソルは使用するのが難しく、ほとんどの場合FOR
ループを優先するべきです。シンプルなFOR
ループと比較して、カーソルで非常に興味深いのは、パラメータ化できるということです。
とにかくOracle SQLを使用するのではなく、PL / SQLおよびカーソルを使用してループを実行しない方がよいでしょう。しかし、手続き型言語に慣れている人にとっては、はるかに理解しやすくなります。
レコードが存在するかどうかを確認し、レコードが存在するかどうかに応じて異なるものを実行する場合は、カーソルループを使用するのではなく、純粋なORACLE SQLクエリでMERGE
ステートメントを使用することが理にかなっています。 ( MERGE
は、Oracleリリースでは9i以上でのみ使用可能です)。