Forguncy 8 オンラインヘルプ
Forguncyの使い方 / コマンド / コマンド(通常) / ストアドプロシージャーの呼び出し
このトピックで
    ストアドプロシージャーの呼び出し
    このトピックで

    [ストアドプロシージャーの呼び出し]コマンドを使用することで、外部データベースの特定のストアドプロシージャーを実行することが可能です。本コマンドでは、以下の外部データベースのストアドプロシージャーのみをサポートしています。

    接続情報

    対象のストアドプロシージャーが存在する外部データベースへの接続を選択します。接続情報をまだ作成していない場合には、[接続情報ダイアログを開く...]ハイパーリンクをクリックすることで、新しい接続情報を作成できます。詳細については外部データベース接続の管理を参照してください。

    ストアドプロシージャー名

    選択した接続情報に応じて、利用可能なストアドプロシージャーの一覧がドロップダウンリストに表示されます。実行したいストアドプロシージャーを選択して設定します。

    外部データベース側でストアドプロシージャーやそのパラメーターを変更した場合には、[]ボタンをクリックし、最新の状態に情報を更新したうえで再設定を行ってください。

    リターンコードの表示セル

    整数値であるストアドプロシージャーのリターンコードを表示するセルを指定します。結果セットを表示させることはできません。本設定は、SQL Serverでのみ使用可能です。

    パラメーター一覧

    [ストアドプロシージャー名]を設定すると、そのストアドプロシージャーに応じて[パラメーター名]、[パラメーター値]、[出力パラメーターの表示セル]が表示され、設定可能な場合に入力可能な状態となります。

    なお、ストアドプロシージャー側が求める形式への自動的な型変換は行われません。そのため、受け渡す前の段階で必要な形式へと値を変化しておく必要があります。

    戻り値を格納する変数名

    このコマンドで返されたデータを変数に格納します。データはJSON形式で格納されるため、JSONデータの設定(リストビュー)コマンドを利用して、ストアドプロシージャーの結果をリストビューに表示することが可能です。
    Oracle DatabaseとPostgreSQLはこの設定をサポートしていないため、表示されません。

    ロール権限

    本ストアドプロシージャーの実行を許可するロールを設定します。

    連結データを最新の情報に更新する

    • 有効(既定):本コマンドの処理後、画面上の対象テーブルをデータ連結しているオブジェクト、またはすべてのビューと連結しているオブジェクトを再読み込みします。
    • 無効:本コマンドの処理後、画面上のすべてのオブジェクトは再読み込みされません。

    使用方法

    本コマンドを使用するためには、接続先の外部データベースにストアドプロシージャーが作成されている必要があります。ここでは、SQL Serverに以下のストアドプロシージャーが作成されている場合を例に説明します。

    1. 呼び出すストアドプロシージャーが存在する外部データベースの接続情報を選択し、ストアドプロシージャー名を設定します。

    2. [パラメータ一覧]に表示された[パラメーター値]と[出力パラメーターの表示セル]に対して、次のように設定します。

    3. [ホーム]リボンタブにあるデバッグの[開始]ボタンをクリックし、アプリケーションの動作を確認します。

      パラメーター値の入力ボックスに任意の数字を入力し、「実行」ボタンをクリックすると対象のストアドプロシージャーが実行され、テーブルのデータの更新と返ってきた出力パラメーターが対象のセルに表示されていることを確認できます。

    注意:

    • MySQLの場合、ストアドプロシージャーをMySQL側で変更しても、キャッシュによりその変更は反映されません。変更を反映するには、Forguncy Builderを再起動する必要があります。

    • ストアドプロシージャーを外部データベース側で変更した場合、Forguncyアプリケーションを再発行([サーバー上にあるデータベースを変更する]チェックオプションのチェックは不要)する必要があります。

    • 「ストアドプロシージャーの呼び出し」コマンドを実行後、データベースがストアドプロシージャーの対象データベースであるかどうかに関わらず、ページ上のすべてのリストビュー、データ連結しているセルやセル型、ODataの再読み込みが行われます。

    • SQLServerの場合、ユーザー定義テーブル型はサポートしていません。