0

メッセージング アプリケーションがあり、最初のトリガーを試しています。私がやりたいのは、データベース ビューに対する挿入チェックで、ユーザーがクォータを超えているかどうかを確認することです。メッセージング テーブルにメッセージを挿入して、ユーザーに通知する場合。

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.'
4

0 に答える 0