私はトリガーを初めて使用し、いくつかの問題があります。誰かが WMS にログインしたときに、ユーザーが WMS にログインしている時間とユーザーがアイドル状態であった時間を記録するトリガーを作成しようとしています。私はもともとこれをストアドプロシージャとして作成しましたが、うまく機能しますが、それをトリガーに変えようとすると、何もしないか、エラーが返されます。
コード全体をトリガーに入れて、トリガーをストアド プロシージャに向けてみました。
これは私の現在のコードであり、基本的な基準が満たされていても何も起こりません。
Use WMS;
Go
Create Trigger ExpiredUsersRmv
On LogFile
For Insert
As
--Total Users before stored procedure runs
Declare @TtlUsers Int
Set @TtlUsers = '7';
--Idle time limit
Declare @iTime DateTime
Set @iTime = '00:05:00';
If
(
Select COUNT(USERID)
From dbo.LogFile
)>= @TtlUsers
Begin
Insert Into dbo.ExpiredIdleUsersRmvd
Select Working, e.USERID, e.CMPNYNAM, USRCLASS, tTime, iTime, LoginDatestamp, GETDATE() As cTime
From dbo.ExpiredTime e Join inserted i on e.USERID = i.USERID
Where iTime >= @iTime;
End