OPEN

カーソルを開きます。

カーソルの詳細については、 カーソルの操作 をご参照ください。

こちらもご参照ください

DECLAREFETCHCLOSE

構文

OPEN <cursor_name> [ USING (bind_variable_1 [, bind_variable_2 ...] ) ] ;

条件:

cursor_name

カーソルの名前。

bind_variable

バインド変数は、カーソルのクエリ定義で使用される値を保持します(例: WHERE 句内)。

バインドの例は、このセクションの後半の例に含まれています。

使用上の注意

  • クエリの結果セットは、行のセットと考えることができます。内部的には、カーソルを開くとクエリが実行され、行が読み取られ、内部ポインターが最初の行に配置されます。

  • 他の SQL クエリと同様に、クエリ定義に最外部レベルの ORDER BY が含まれていない場合、結果セットには定義された順序がありません。カーソルの結果セットが作成されると、カーソルが閉じられるまでその順序が保持されます。ただし、カーソルを再宣言または再度開くと、行が異なる順序で生成される場合があります。

  • 同様に、カーソルを閉じてから、基になるテーブルを更新して再度開くと、結果セットも変更される可能性があります。

DECLARE
    c1 CURSOR FOR SELECT price FROM invoices;
BEGIN
    OPEN c1;
    ...

次に、 カーソル を開くときに変数をバインドする方法を示します。

DECLARE
    price_to_search_for FLOAT;
    price_count INTEGER;
    c2 CURSOR FOR SELECT COUNT(*) FROM invoices WHERE price = ?;
BEGIN
    price_to_search_for := 11.11;
    OPEN c2 USING (price_to_search_for);

カーソルの使用のより包括な例については、 カーソルの紹介例 をご参照ください。

最上部に戻る