レッスン 3: ストアド プロシージャを実行して、追加された新しい従業員を選択する
このレッスンで実行されるタスクを理解する前に、まずこれらのタスクが必要な理由を理解しておく必要があります。 新しい従業員を追加するためにレコードが挿入される Employee テーブルは、新しい従業員が追加されるたびに Status 列が常に "0" に設定されるように定義されます。 これは、この列を使用して新しく追加された従業員に対してクエリを実行し、通知を受け取ることができるように行われます。 SQL Serverでは、次の SQL ステートメントを実行してクエリを実行します。
SELECT Employee_ID, Name, Designation FROM Employee WHERE Status = 0
新しく追加された従業員の一覧を受け取った後、次に新しい従業員を追加して同じクエリを実行するときに、古い従業員のレコードも取得しないように 、Status 列を "1" に更新する必要があります。 上記の Select ステートメントで新しく追加された従業員のみが付与されるようにするには、次の SQL ステートメントを使用して Employee テーブルを更新します。
UPDATE Employee SET Status = 1 WHERE Status = 0
そのため、古い従業員の [状態] 列は "1" に設定され、新入社員は常に "0" になります。
このレッスンでは、ストアド プロシージャ UPDATE_EMPLOYEEを実行し、Select ステートメントと Update ステートメントを実行します。 このレッスンを完了すると、オーケストレーションによって次の処理が行われます。
Employee テーブルへの変更に関する通知を受け取ります。
受信した通知メッセージから通知の種類を抽出します。
通知メッセージが Insert 操作の場合、オーケストレーションは UPDATE_EMPLOYEE ストアド プロシージャを実行します。
ストアド プロシージャは 、Employee テーブルに新しく入力されたレコードを読み取ります。 新しいレコードを読み取った後、ストアド プロシージャはそれらのレコードの Status 列も "1" に設定します。
これで、ストアド プロシージャを実行する必要がある理由がわかります。 ここで、オーケストレーションの一部としてこれを実行する方法について考える必要があります。 オーケストレーションには、 UPDATE_EMPLOYEE ストアド プロシージャの要求メッセージが必要です。 このチュートリアルでは、メッセージをすぐに作成し、オーケストレーションに提供するカスタム クラス ライブラリを作成します。 オーケストレーションはメッセージを受信すると、SQL アダプターを使用してメッセージをSQL Serverに送信し、応答を受け取ります。