以下のサンプルフォーマットテーブル構造があります。
CUSTOMERテーブル
CUSTID INT,//PRIMARY KEY
CUSTDATA VARCHAR
EMPLOYEEテーブル
EMPID INT,//PRIMARY KEY
EMPDATA VARCHAR
ITEMテーブル
ITEMID INT,//PRIMARY KEY
CUSTID INT,//REFERENCE KEY
ITEMTYPE INT //1 FOR CUSTOMER AND 2 FOR EMPLOYEE
EMPID INT
MERGEDATAテーブル
MERGEID INT,
CUSTDATA VARCHAR,
EMPDATA VARCHAR
ACTION VARCHAR
上記には4つのテーブル(CUSTOMER, EMPLOYEE, ITEMと)があり、イベントのテーブルにMERGEDATASQL Serverトリガーを作成したいので、テーブルでアクティビティが実行されるたびに、テーブルで実行されたアクションがテーブルに入力されます。ITEMINSERT/UPDATE/DELETEITEMMERGEDATAITEM
したがって、新しい行がテーブルに挿入されると、またはエントリに応じてITEM新しいエントリがテーブルに挿入されます。たとえば、顧客からのエントリがある場合は、テーブルとテーブルに次のように1つのエントリが追加されます。MERGEDATACUSTOMEREMPLOYEEITEMCUSTOMER
CUSTOMERテーブル
123, TESTCUSTOMER
ITEMテーブル
1, 123, 1, 0
Employeeテーブルについても同じことが言えますが、ITEMテーブルの行はのようになります1, 456, 0, 2。
ここで、トリガーのif条件に、CUSTOMERテーブルからのエントリがある場合を記述したいと思います。
IF (ITEMTYPE == 1)
//Entry in MERGEDATA will as below
MERGEDATAテーブル
1, 123, 0, ACTION (will depend on type of trigger event trigger if INSERT(ACTION = INS), for update (UPDATE = UPD) etc
要するに、私は引き金で物事の下を見ています:
- トリガーにIF条件を書き込む方法
- トリガーで他のテーブルから内部結合を行う方法
提案してください!!
ありがとう