USE [GKNetDataNew] GO /****** Object: StoredProcedure [dbo].[pro_GetUserPrizeLevel] Script Date: 08/21/2017 17:17:28 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[pro_GetUserPrizeLevel] ( @userId int, @prizeLevel int output, ---奖品等级 @logid int output ) AS BEGIN declare @prizeNum int declare @prizeName varchar(30) select @prizeNum=cast(ceiling(rand() * 100000) as int) print rand() if(@prizeNum<=2) begin --设置奖品等级 select @prizeLevel=1 select @prizeName='Kindle' end if(@prizeNum>2 and @prizeNum<=20) begin --设置奖品等级 select @prizeLevel=2 select @prizeName='移动电源' end if(@prizeNum>20 and @prizeNum<=4020) begin --设置奖品等级 select @prizeLevel=4 select @prizeName='100积分' end if(@prizeNum>4020 and @prizeNum<=12020) begin --设置奖品等级 select @prizeLevel=5 select @prizeName='50积分' end if(@prizeNum>12020 and @prizeNum<=52020) begin --设置奖品等级 select @prizeLevel=6 select @prizeName='10积分' end if(@prizeNum>52020) begin --设置奖品等级 select @prizeLevel=7 select @prizeName='谢谢参与' end --插入用户奖品信息--- insert into [dbo].[AOGift_Prizeinfo](userid,name,[level],cTime,isAvailable) values(@userid,@prizeName,@prizeLevel,getdate(),1); select @logid=max(id) from [dbo].[AOGift_Prizeinfo] where userid=@userid END SET ANSI_NULLS OFF --移动电源 0.018% --100积分 4.000% --50积分 8.000% --10积分 40.000% --谢谢参与 45.000% GO