敬业的IT人 >> 数据库 >> 其他数据库 >> 一个简单触发器,实现计票功能

一个简单触发器,实现计票功能

敬业的IT人 互联网 佚名 2008-1-9 9:52:57

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:  <Author,,shunzi>
-- Create date: <Create 2007-04-03,,>
-- Description: 增加相片的票数
-- =============================================
alter TRIGGER [dbo].[sh_trigger_Phote_Vote]
   ON  [dbo].[JiPhoto]
   for Insert
AS
declare @dattoday datetime
declare @maxVote int
set @dattoday=getdate()
set @MaxVote=15
declare @userid int
declare @Cuid int
BEGIN
  --求出插入的那条资料
  Select @userid=Jiuid,@Cuid=Cuid from inserted
  set @userid=@userid
  Set @cuid=@cuid

       --判断用户是不是在小天使列表中
  if exists (Select * from sh_angel_list where Userid=@Cuid)
  Begin
 
  --判断用户是否已经有计过票数
  if not exists (Select * from sh_Vote_Detailed where typevote='photo' and userid=@Cuid  and convert(varchar(8),addtime,120)=convert(varchar(8),@dattoday,120))
     Begin        
          --增加投票日志  

          insert into sh_Vote_Detailed(typeVote,[vote],userid,cuid) values ('photo',3,@Cuid,@userid)
          --小天使开始计票
          update sh_Angel_list set PhotoVote=PhotoVote+3 ,TotalVote=TotalVote+3 where userid=@Cuid
 
       End
   else
    Begin
      Select @MaxVote=sum(vote) from sh_Vote_Detailed where typevote='photo' and userid=@Cuid  and convert(varchar(8),addtime,120)=convert(varchar(8),@dattoday,120)
      if @MaxVote<15
         Begin
          --增加投票日志  

          insert into sh_Vote_Detailed(typeVote,[vote],userid,cuid) values ('photo',3,@Cuid,@userid)
          --小天使开始计票
          update sh_Angel_list set PhotoVote=PhotoVote+3 ,TotalVote=TotalVote+3 where userid=@Cuid
         end 
    end
    
   End
END

粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com