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

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » ストアド・プロシージャとトリガ » プロシージャ、トリガ、バッチの使用 » プロシージャの概要

 

プロシージャの結果をパラメータとして返す

プロシージャは次のいずれかの方法で、呼び出された環境に結果を返します。

  • 個別の値を OUT または INOUT パラメータとして返す。

  • 結果セットを返す。

  • RETURN 文を使って 1 つの結果を返す。

♦  プロシージャを作成して実行し、その出力を表示するには、次の手順に従います (SQL の場合)。
  1. Interactive SQL を使用して、DBA として SQL Anywhere サンプル・データベースに接続します。

  2. [SQL 文] ウィンドウ枠で、次のように入力し、従業員の平均給与を OUT パラメータとして返すプロシージャ (AverageSalary) を作成します。

    CREATE PROCEDURE AverageSalary( OUT avgsal NUMERIC(20,3) )
    BEGIN
       SELECT AVG( Salary )
       INTO avgsal
       FROM Employees;
    END;
  3. プロシージャの結果を格納する変数を作成します。ここでは、結果は小数点以下 3 桁の数字なので、変数を次のように作成します。

    CREATE VARIABLE Average NUMERIC(20,3);
  4. 作成した変数を使ってプロシージャを呼び出します。

    CALL AverageSalary( Average );

    プロシージャが正しく作成され、実行された場合、Interactive SQL の [メッセージ] タブにエラーは表示されません。

  5. 次の文を実行して変数の値を検査します。

    SELECT Average;

    出力変数 Average の値を見ます。[結果] ウィンドウ枠の [結果] タブに、この変数の値 49988.623 が表示されます。これが従業員の給与の平均値です。

参照