CREATE PROCEDURE HitF (@IDS int,@GType decimal(10,4),@Dt datetime) As
--************************************************************************************声明变量
declare @Total int,@Dates datetime,@TotalMoney decimal(10,4),@showcount int
declare @HitFe decimal(5,3),@Play decimal(10,4)
--************************************************************************************--赋值 
select @Total=共点击次数,@Dates=点击日期,@TotalMoney=汇款金额,@showcount=显示次数 from Clients where ID=@IDS--********************************************点击率   
if @showcount=0 
   set @hitfe=0
else
   set @hitfe=@Total/@showcount
--*********************************************if @Total=0          --如果总点数为0
   set @Play=@Gtype
   update Clients set 点击日期=@Dt,点击率=@hitfe,共点击次数=共点击次数+1,今日点击次数=今日点击次数+1,汇款金额=@play where ID=@IDS
   return 1             --接下来是退出存储过程set @Play=@GType +@TotalMoney                --计算总要给多小钱
if @Dates<>@Dt                          --如果点击日期不是今日就初始化今日点击数和更新日期
   update Clients set 共点击次数=共点击次数+1,点击率=@hitfe,汇款金额=@play,今日点击次数=1,点击日期=@Dt 
else                                         --如果是今日就将今日点数加一
   update Clients set 共点击次数=共点击次数+1,点击率=@hitfe,汇款金额=@play,今日点击次数=今日点击次数+1

解决方案 »

  1.   

    不好意思,这样才对,请大家帮忙一下,看看那里有误
    CREATE PROCEDURE King.HitF (@IDS int,@GType decimal(10,4),@Dt datetime) As
    --************************************************************************************声明变量
    declare @Total int,@Dates datetime,@TotalMoney decimal(10,4),@showcount int
    declare @HitFe decimal(5,3),@Play decimal(10,4)
    --************************************************************************************
    select 共点击次数,点击日期,汇款金额,申请时间,显示次数 from Clients where ID=@IDS--赋值 
    select @Total=共点击次数,@Dates=点击日期,@TotalMoney=汇款金额,@showcount=显示次数--********************************************点击率   
    begin
    if @showcount=0 
       set @hitfe=0
    else
       set @hitfe=@Total/@showcount
    end
    --*********************************************
    begin
    if @Total=0          --如果总点数为0
       set @Play=@Gtype
       update Clients set 点击日期=@Dt,点击率=@hitfe,共点击次数=共点击次数+1,今日点击次数=今日点击次数+1,汇款金额=@play where ID=@IDS
       return             --接下来是退出存储过程
    end
    begin
    set @Play=@GType +@TotalMoney                --计算总要给多小钱
    if @Dates<>@Dt                          --如果点击日期不是今日就初始化今日点击数和更新日期
       update Clients set 共点击次数=共点击次数+1,点击率=@hitfe,汇款金额=@play,今日点击次数=1,点击日期=@Dt 
    else                                         --如果是今日就将今日点数加一
       update Clients set 共点击次数=共点击次数+1,点击率=@hitfe,汇款金额=@play,今日点击次数=今日点击次数+1
    end
      

  2.   

    CREATE PROCEDURE HitF (@IDS int,@GType decimal(10,4),@Dt datetime) As
    --************************************************************************************声明变量
    declare @Total int,@Dates datetime,@TotalMoney decimal(10,4),@showcount int
    declare @HitFe decimal(5,3),@Play decimal(10,4)
    --************************************************************************************
    --赋值 
    select @Total=共点击次数,@Dates=点击日期,@TotalMoney=汇款金额,@showcount=显示次数 from Clients where ID=@IDS--********************************************点击率   
    begin
    if @showcount=0 
       set @hitfe=0
    else
       set @hitfe=@Total/@showcount
    end
    --*********************************************
    begin
    if @Total=0          --如果总点数为0
       set @Play=@Gtype
       update Clients set 点击日期=@Dt,点击率=@hitfe,共点击次数=共点击次数+1,今日点击次数=今日点击次数+1,汇款金额=@play where ID=@IDS
       return             --接下来是退出存储过程
    end
    begin
    set @Play=@GType +@TotalMoney                --计算总要给多小钱
    if @Dates<>@Dt                          --如果点击日期不是今日就初始化今日点击数和更新日期
       update Clients set 共点击次数=共点击次数+1,点击率=@hitfe,汇款金额=@play,今日点击次数=1,点击日期=@Dt 
    else                                         --如果是今日就将今日点数加一
       update Clients set 共点击次数=共点击次数+1,点击率=@hitfe,汇款金额=@play,今日点击次数=今日点击次数+1