# "AddEvent" 存储过程

说明：

本存储过程为门户的某个特殊模块在数据库中添加一项新的事件。输入参数包括title, location, expiration date以及事件的描述。输出参数是新数据记录的ItemId。

定义：

       CREATE PROCEDURE Portal_AddEvent
       (
           @ModuleID    int,
           @UserName    nvarchar(100),
           @Title       nvarchar(100),
           @ExpireDate  DateTime,
           @Description nvarchar(2000),
           @WhereWhen   nvarchar(100),
           @ItemID      int OUTPUT
       )
       AS

       INSERT INTO Portal_Events
       (
           ModuleID,
           CreatedByUser,
           Title,
           CreatedDate,
           ExpireDate,
           Description,
           WhereWhen
       )

       VALUES
       (
           @ModuleID,
           @UserName,
           @Title,
           GetDate(),
           @ExpireDate,
           @Description,
           @WhereWhen
       )

       SELECT
           @ItemID = @@Identity

使用到的数据库表：

Events: 如事件门户模块所示，Events表中的每项记录都是单条记录。所有的事件模块都将其记录存储在这个表中，所以每项记录包含一个ModuleID，以便一次查询就可以获得所有相关的记录。

Events表的主键是ItemID。注意：事件描述限于2000字符以内。