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