メッセージング アプリケーションがあり、最初のトリガーを試しています。私がやりたいのは、データベース ビューに対する挿入チェックで、ユーザーがクォータを超えているかどうかを確認することです。メッセージング テーブルにメッセージを挿入して、ユーザーに通知する場合。
USE [PhoneMessaging]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[trgAfterInsert] ON [dbo].[Messages]
FOR INSERT
AS
declare @uid smallint;
declare @Message nvarchar(1000);
declare @MessageFrom smallint;
declare @vdate date;
declare @priority smallint;
declare @MessageLimit smallint;
select @uid=i.MessageTo from inserted i;
set @Message='You have reached your storage limit.';
set @vdate = CONVERT(VARCHAR,GETDATE(),111);
set @MessageFrom = 0
set @priority = 3
set @MessageLimit = (SELECT dbo.vUserMessageTotals.MessageLimit from dbo.vUserMessageTotals WHERE uid = @uid)
/*IF (SELECT dbo.vUserMessageTotals.MessageReceivedTotal from dbo.vUserMessageTotals) >= @MessageLimit*/
insert into Messages
(MessageTo,[Message],vDate,MessageFrom)
values(@uid,@Message,@vdate,@MessageFrom)
PRINT 'AFTER INSERT trigger fired.'