以前にトリガーを使用したことはありません。
これは、挿入が検出されたときにトリガーしたいクエリです。
UPDATE USER_CHECK_LOGIN
SET CHECKLOGIN = 2
WHERE USER_CHECK_LOGIN.USER_KEY IN
(SELECT e.USER_KEY
FROM XTREME.game.dbo.CHAR_DATA0 AS e
INNER JOIN XTREME.gamelogs.dbo.LOG_USING_DEPOT201211 AS p
ON e.CHAR_KEY = p.CHAR_KEY
WHERE p.GATENUM = 150
)
AND USER_CHECK_LOGIN.CHECKLOGIN = 0
AND USER_CHECK_LOGIN.USER_KEY!=51;
しかし、問題は私が探し回っていたのですが、条件を使用する方法が見つからないことです。
必要なのは、呼び出されたテーブルで挿入が行われたときにスクリプトがトリガーされ、LOG_CONNECT201211
その挿入にgatenum=150
andが含まれている場合kind=21/22/23
kind が 21 の場合はこのクエリを実行し、22 の場合はこのクエリを実行し、23 の場合はこのクエリを実行します。
そんな感じ。
SELECT *
FROM LOG_CONNECT201211
WHERE GATENUM=150
AND (KIND=21 OR KIND=22 OR KIND=23)
ご覧のように、テーブルは で終わります201211
。これは、翌月のテーブルが になることを意味します201212
。そのため、テーブルを現在の月のテーブルに自動的に変更する必要もあります。