Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » ストアドプロシージャー、トリガー、バッチ、ユーザー定義関数 » 結果セット

 

プロシージャーから複数の結果セットを返す

プロシージャーは呼び出しを行った環境に 2 つ以上の結果セットを返すことができます。

デフォルトでは、Interactive SQL では、複数の結果セットは表示されません。複数結果セット機能を有効にするには、Interactive SQL で[オプション] ウィンドウを使用するか、または isql_show_multiple_result_sets オプションを設定する SQL 文を実行します。設定内容はすぐに反映され、無効にされるまで後続のセッションすべてについて有効になります。

 ♦ 複数結果セット機能の有効化 (Interactive SQL の場合)
  1. DBA 権限のあるユーザーとして、データベースに接続します。

  2. Interactive SQL で、[ツール]  » [オプション] をクリックします。

  3. [SQL Anywhere] をクリックします。

  4. [結果] タブで、[すべての結果セットを表示] をクリックします。

  5. [OK] をクリックします。

 ♦ 複数結果セット機能の有効化 (SQL の場合)
  1. DBA 権限のあるユーザーとしてデータベースに接続します。

  2. 次の文を実行します。

    SET OPTION isql_show_multiple_result_sets=On

このオプションを有効にすると、Interactive SQL には複数の結果セットが表示されます。

プロシージャー定義で RESULT 句を使う場合には、結果セットはそれに合わせなければなりません。つまり、結果セットは SELECT 文のリストと同じ数の項目を持ち、データ型はすべて RESULT 句にリストされたデータ型に自動的に変換可能な型である必要があります。

RESULT 句を省略した場合は、プロシージャーは返されるカラムの数や型がさまざまに異なる結果セットを返すことができます。

 例
 参照