例えば、以下のようなストアドプロシージャ(SQLServer)
CREATE PROCEDURE [sp_get_customer_id]をGeneXusアプリケーションから実行したい場合には
@p_country_id int,
@p_customer_id int OUTPUT
AS
BEGIN
SELECT @p_customer_id = max(CustomerId)+1 FROM Customer WHERE CountryId = @p_country_id;
RETURN;
END
注意:あくまでも外部オブジェクトの作成方法に主眼をおいているため、ストアドプロシージャの現実的な実装(エラー処理等)は考慮していません。
1.外部オブジェクトの作成
1-1.外部オブジェクトを新規作成します。1-2.外部オブジェクトのプロパティを設定します。
外部オブジェクトのプロパティ
Type | Stored Procedure |
Data Store | ストアドプロシージャが登録されているデータストアを指定 |
1-3.メソッドを追加します。
外部オブジェクトのメソッドが1つのストアドプロシージャに相当します。
メソッドのプロパティ
Internal Name | ナレッジベース内で使用するメソッド名を指定します |
Type | 戻り値のデータ型を指定します(適用可能な場合※) |
External Name | DBMSに登録してあるストアドプロシージャ名を指定します |
※Artechのドキュメント(wiki)ではメソッドの戻り値の指定が可能と記述がありましたが、現在のバージョンでは使用できませんでしたのでここで訂正します。
1-4.バラメータを追加します。
パラメータのプロパティ
Access Type | パラメータの入出力方向[in/out/inout] |
Internal Name | ナレッジベース内で使用するパラメータ名を指定します |
Type | パラメータのデータ型を指定します |
External Name | ストアドプロシージャで使用されているパラメータ名を指定します |
0 件のコメント:
コメントを投稿