Oracle® Fusion Middleware Oracle Real-Time Decisionsプラットフォーム開発者ガイド 11g リリース1 (11.1.1) B72429-01 |
|
前 |
次 |
この付録では、Oracle、SQL ServerおよびDB2からデータ・ソースを作成する方法の例だけでなく、これらのデータ・ソースからエンティティとセッションの属性を作成する方法の例も示します。
例は、CrossSellCustomers表に基づいています。この表の設定の詳細は、『Oracle Fusion Middleware Oracle Real-Time Decisions管理者ガイド』のCrossSellサンプル・データの移入に関する項を参照してください。
この付録には次のトピックが含まれます:
単一結果のストアド・プロシージャからデータ・ソースを作成する手順は次のとおりです。
適切なコマンドを使用して、Oracle、SQL ServerまたはDB2のデータベースにストアド・プロシージャのGet_Single_CustomerInfoを作成します。
(A) Oracle
CREATE PROCEDURE GET_SINGLE_CUSTOMERINFO ( P_ID IN INTEGER, P_AGE OUT INTEGER, P_OCCUPATION OUT VARCHAR2, P_LASTSTATEMENTBALANCE OUT FLOAT ) AS BEGIN SELECT AGE, OCCUPATION, LASTSTATEMENTBALANCE INTO P_AGE, P_OCCUPATION,
P_LASTSTATEMENTBALANCE FROM CROSSSELLCUSTOMERS
WHERE CROSSSELLCUSTOMERS.ID = P_ID; END;
(B) SQL Server
CREATE PROCEDURE Get_Single_CustomerInfo @pId INTEGER, @pAge INTEGER OUTPUT, @pOccupation VARCHAR(20) OUTPUT, @pLastStatementBalance FLOAT OUTPUT AS SELECT @pAge = Age,
@pOccupation = Occupation,
@pLastStatementBalance = LastStatementBalance FROM CrossSellCustomers
WHERE Id = @pId; GO
(C) DB2
CREATE PROCEDURE DB2ADMIN.GET_SINGLE_CUSTOMERINFO ( IN P_ID INTEGER, OUT P_AGE INTEGER, OUT P_OCCUPATION VARCHAR(20), OUT P_LASTSTATEMENTBALANCE REAL ) LANGUAGE SQL P1: BEGIN DECLARE CURSOR_ CURSOR WITH RETURN FOR SELECT AGE, OCCUPATION, LASTSTATEMENTBALANCE FROM DB2ADMIN.CROSSSELLCUSTOMERS AS CROSSSELLCUSTOMERS WHERE CROSSSELLCUSTOMERS.ID = P_ID; OPEN CURSOR_; FETCH CURSOR_ INTO P_AGE, P_OCCUPATION, P_LASTSTATEMENTBALANCE; CLOSE CURSOR_; END P1
使用しているアプリケーション・サーバーにストアド・プロシージャのJDBCデータ・ソースを作成します。
アプリケーション・サーバーにデータ・ソースを作成する方法の詳細は、『Oracle Fusion Middleware Oracle Real-Time Decisions管理者ガイド』のOracle Real-Time Decisionsのデータ・アクセスの構成に関する項を参照してください。
デシジョン・スタジオで、データベースからGet_Single_CustomerInfoストアド・プロシージャをインポートすることで、ストアド・プロシージャのデータ・ソースであるDS_Single_Customerを作成します。
SQL Server用ストアド・プロシージャの場合は、パラメータのpAge、pOccupationおよびpLastStatementBalanceの方向をInput/OutputからOutputに変更します。
デシジョン・スタジオで、データ・ソースのDS_Single_Customerをインポートすることで、エンティティのEnt_Single_Customerを作成します。
Integer型のId属性を追加します。
「マッピング」タブの「データ・ソース入力値」領域で、入力列の「pId」の入力値をIdに設定します。
「セッション」エンティティを開き、新しい属性のcust_spを追加し、データ型をEnt_Single_Customerに設定します。
結果セットが1つのストアド・プロシージャからデータ・ソースを作成する手順は次のとおりです。
適切なコマンドを使用して、Oracle、SQL ServerまたはDB2のデータベースにストアド・プロシージャのGet_OneSet_CustomerInfoを作成します。
(A) Oracle
CREATE PROCEDURE GET_ONESET_CUSTOMERINFO ( P_CREDITLINEAMOUNT IN INTEGER, CURSOR_ IN OUT TYPES.REF_CURSOR ) AS BEGIN OPEN CURSOR_ FOR SELECT * FROM CROSSSELLCUSTOMERS
WHERE CREDITLINEAMOUNT >= P_CREDITLINEAMOUNT; END;
(B) SQL Server
CREATE PROCEDURE Get_OneSet_CustomerInfo @pCreditLineAmount INTEGER AS SET NOCOUNT ON; SELECT * FROM CrossSellCustomers WHERE CreditLineAmount >= @pCreditLineAmount; GO
(C) DB2
CREATE PROCEDURE DB2ADMIN.GET_ONESET_CUSTOMERINFO ( IN P_CREDITLINEAMOUNT INTEGER ) DYNAMIC RESULT SETS 1 LANGUAGE SQL P1: BEGIN DECLARE CURSOR_ CURSOR WITH RETURN FOR SELECT * FROM DB2ADMIN.CROSSSELLCUSTOMERS AS CROSSSELLCUSTOMERS WHERE CROSSSELLCUSTOMERS.CREDITLINEAMOUNT >= P_CREDITLINEAMOUNT; OPEN CURSOR_; END P1
使用しているアプリケーション・サーバーにストアド・プロシージャのJDBCデータ・ソースを作成します。
アプリケーション・サーバーにデータ・ソースを作成する方法の詳細は、『Oracle Fusion Middleware Oracle Real-Time Decisions管理者ガイド』のOracle Real-Time Decisionsのデータ・アクセスの構成に関する項を参照してください。
デシジョン・スタジオで、データベースからGet_OneSet_CustomerInfoストアド・プロシージャをインポートすることで、ストアド・プロシージャのデータ・ソースであるDS_OneSet_Customerを作成します。
「結果セットの詳細」セクションで、結果セットを追加します。
「複数の行を許可」チェック・ボックスを選択します。
SQL Server用ストアド・プロシージャの場合は、所定のデータ型で示されているとおりに次の列名を追加します。
Age [Integer]
Occupation [String]
LastStatementBalance [Double]
Oracle用ストアド・プロシージャとDB2用ストアド・プロシージャの場合は、所定のデータ型で示されているとおりに次の列名を追加します。
AGE [Integer]
OCCUPATION [String]
LASTSTATEMENTBALANCE [Double]
デシジョン・スタジオで、データ・ソースのDS_OneSet_Customerをインポートすることで、エンティティのEnt_OneSet_Customerを作成します。
Integerデータ型のCreditLineAmount属性を追加し、そのデフォルト値を50000に設定します。
これにより、結果は約30行に制限されます。
属性のAge、OccupationおよびLastStatementBalanceの「配列」列を選択します。
「マッピング」タブの「データ・ソース入力値」領域で、入力列の「pCreditLineAmount」の入力値をCreditLineAmountに設定します。
「セッション」エンティティを開き、新しい属性のcust_oneset_spを追加し、データ型をEnt_OneSet_Customerに設定します。
結果セットが2つのストアド・プロシージャからデータ・ソースを作成する手順は次のとおりです。
適切なコマンドを使用して、Oracle、SQL ServerまたはDB2のデータベースにストアド・プロシージャのGet_TwoSets_CustomerInfoを作成します。
(A) Oracle
CREATE PROCEDURE GET_TWOSETS_CUSTOMERINFO ( P_CREDITLINEAMOUNT IN INTEGER, CURSOR1_ IN OUT TYPES.REF_CURSOR, CURSOR2_ IN OUT TYPES.REF_CURSOR ) AS BEGIN OPEN CURSOR1_ FOR SELECT * FROM CROSSSELLCUSTOMERS WHERE CREDITLINEAMOUNT >= P_CREDITLINEAMOUNT; OPEN CURSOR2_ FOR SELECT * FROM CROSSSELLCUSTOMERS WHERE CARDTYPE = 'Platinum' AND CREDITLINEAMOUNT >= P_CREDITLINEAMOUNT; END;
(B) SQL Server
CREATE PROCEDURE Get_TwoSets_CustomerInfo @pCreditLineAmount INTEGER AS SET NOCOUNT ON; SELECT * FROM CrossSellCustomers WHERE CreditLineAmount >= @pCreditLineAmount; SELECT * FROM CrossSellCustomers WHERE CreditLineAmount >= @pCreditLineAmount AND CardType = 'Platinum'; GO
(C) DB2
CREATE PROCEDURE DB2ADMIN.GET_TWOSETS_CUSTOMERINFO ( IN P_CREDITLINEAMOUNT INTEGER ) DYNAMIC RESULT SETS 2 LANGUAGE SQL P1: BEGIN DECLARE CURSOR1_ CURSOR WITH RETURN FOR SELECT * FROM DB2ADMIN.CROSSSELLCUSTOMERS AS CROSSSELLCUSTOMERS WHERE CROSSSELLCUSTOMERS.CREDITLINEAMOUNT >= P_CREDITLINEAMOUNT; DECLARE CURSOR2_ CURSOR WITH RETURN FOR SELECT * FROM DB2ADMIN.CROSSSELLCUSTOMERS AS CROSSSELLCUSTOMERS WHERE CROSSSELLCUSTOMERS.CREDITLINEAMOUNT >= P_CREDITLINEAMOUNT AND CROSSSELLCUSTOMERS.CARDTYPE = 'Platinum'; OPEN CURSOR1_; OPEN CURSOR2_; END P1
使用しているアプリケーション・サーバーにストアド・プロシージャのJDBCデータ・ソースを作成します。
アプリケーション・サーバーにデータ・ソースを作成する方法の詳細は、『Oracle Fusion Middleware Oracle Real-Time Decisions管理者ガイド』のOracle Real-Time Decisionsのデータ・アクセスの構成に関する項を参照してください。
デシジョン・スタジオで、データベースからGet_TwoSets_CustomerInfoストアド・プロシージャをインポートすることで、ストアド・プロシージャのデータ・ソースのDS_TwoSets_Customerを作成します。
「結果セットの詳細」セクションで、結果セットを追加します。
「複数の行を許可」チェック・ボックスを選択します。
SQL Server用ストアド・プロシージャの場合は、所定のデータ型で示されているとおりに次の列名を追加します。
Age [Integer]
Occupation [String]
LastStatementBalance [Double]
Oracle用ストアド・プロシージャとDB2用ストアド・プロシージャの場合は、所定のデータ型で示されているとおりに次の列名を追加します。
AGE [Integer]
OCCUPATION [String]
LASTSTATEMENTBALANCE [Double]
デシジョン・スタジオで、データ・ソースのDS_TwoSets_Customerをインポートすることで、エンティティのEnt_TwoSets_Customerを作成します。
Integerデータ型のCreditLineAmount属性を追加し、そのデフォルト値を50000に設定します。
これにより、結果は約30行に制限されます。
属性のAge、OccupationおよびLastStatementBalanceの「配列」列を選択します。
「マッピング」タブの「データ・ソース入力値」領域で、入力列の「pCreditLineAmount」の入力値をCreditLineAmountに設定します。
「セッション」エンティティを開き、新しい属性のcust_twosets_spを追加し、データ型をEnt_TwoSets_Customerに設定します。