以下は私のテーブル構造です:
Table -Customer
CustomerID Blacklisted Customer Name
101 Y ABC
102 Y DEF
Table -Blacklist
CustomerID BlacklistID Customer Name
101 1011 ABC
102 1012 DEF
Table -Reason
BlacklistID ReasonID Reason Code
1012 02 Rcode2
メインテーブル「Customer」は顧客情報を保存するためのものです。テーブル「Customer」の更新後にトリガーがあり、テーブル「Blacklist」にレコードを挿入すると、誰かが顧客テーブルで Y としてブラックリストに登録されたものを更新します。次の場合、お客様はブラックリストに登録されていると見なされます
- 値「Y」として Customer テーブルのブラックリストに登録された列。
- ブラックリストと理由テーブルに顧客のレコードが存在します
今、私の要件は、バックエンドから顧客をブラックリストに登録することです。このために、以下のクエリを使用してストアド プロシージャを作成しています。
- update customer set blacklisted ='Y' where customerid='102';
- ブラックリストから var_id に BlacklistID を選択します。ここで customerid='102';
- reason(BlacklistID,ReasonID,ReasonCode)values(var_ id,111,'RCODE1'); に挿入します。
理由テーブルにエントリを挿入するには (ステップ 3)、外部キーである BlacklistID が必要です。顧客テーブルのトリガーが実行されると、BlacklistID の値を取得します。 cntrl が INSERT INTO reason(step-3) ステートメントに到達する前に、'Customer' テーブルが常に実行されます。提案してください。