sql >> データベース >  >> RDS >> Oracle

TOAD for Oracleから関数を実行し、その結果をデータグリッドにバインドするにはどうすればよいですか。

    いくつか調べてみたところ、自分の問題に対する答えが見つかりました。 varrayタイプがvarchar_pair_arrayと呼ばれ、この配列に格納されているオブジェクトがvarchar_pair_objectと呼ばれているとします。 varchar_pair_objectは、メンバーとして2つのvarcharを持つ単純なオブジェクトです。

    varchar_pair_object(s)のVARRAYを取り込むprocを実行するためのコードは次のとおりです。

    DECLARE 
      RetVal SYS_REFCURSOR;
      a_simplevalue VARCHAR2(200);
      another_simplevalue VARCHAR2(200);
      my_array_of_varchar_pairs VARCHAR_PAIR_ARRAY; -- assume varchar_pair_array is defined somewhere else
      my_obj VARCHAR_PAIR_OBJECT; -- assume varchar_pair_object is defined somewhere else
      my_other_obj VARCHAR_PAIR_OBJECT;
    BEGIN 
      a_simplevalue := 'hello';
      another_simplevalue := 'there';
      my_obj := VARCHAR_PAIR_OBJECT('nice to meet you', 'greetings');
      my_other_obj := VARCHAR_PAIR_OBJECT('goodbye', 'ciao');
      my_array_of_varchar_pairs := VARCHAR_PAIR_ARRAY(); 
      my_array_of_varchar_pairs.EXTEND(2); -- this should be the number of objects you plan to put into the array
      my_array_of_varchar_pairs(1) := my_obj;
      my_array_of_varchar_pairs(2) := my_other_obj; 
    
      RetVal := my_function ( a_simplevalue, another_simplevalue, my_array_of_varchar_pairs); -- assuming your array takes two varchars and one array of VARCHAR_PAIR_OBJECT (s)
      :to_grid := RetVal;
    
    END;
    

    このコードをコピーしてTOADのSQLエディターに貼り付け、関数とタイプに合わせて変更し、F9キーを押します。 TOADは、:to_grid変数のタイプを尋ねます。カーソルを選択し(関数が参照カーソルを返すと仮定)、Enterキーを押します。 TOADは、結果セットをデータグリッドにバインドします。

    私を助けたリンク:

    http://www.smart-soft .co.uk / Oracle / oracle-plsql-tutorial-part-11.htm (コレクションに関する優れたチュートリアル) http:/ /download.oracle.com/docs/cd/B10501_01/appdev.920/a96624/10_objs.htm#1972 (この場合に特に役立つのは、オブジェクトの宣言と初期化に関するセクションです)

    ほんの少しの変更で、同じことが手順で行うことができます。




    1. サンプルRMIアプリケーションの実行

    2. Laravel:昇順で並べ替えた後、最後のn(任意の数)行を取得するにはどうすればよいですか?

    3. php&mysqlのサブメニューで動的メニューを作成する方法

    4. AUTOINCREMENTフィールドにデータを挿入できますか?