How to update the user level when ever user report any tweet in sql

 


ALTER PROCEDURE [dbo].[SP_UPDATEUSERLEVEL]

@Userid INT

AS

BEGIN

Declare @CountOfUserReportedTweets INT

Declare @LevelBadgeId INT

SET @CountOfUserReportedTweets=(select count(*) from OnGoingReports where UserId=@Userid)


--CHECKS WHETHER THE LEVEL EXIST OR NOT

IF EXISTS(select Top 1 * from LevelBadge where NoofTweets<=@CountOfUserReportedTweets order by NoofTweets desc)

BEGIN

--IF LEVEL EXISTS UPDATE OR INSERT WITH THAT LEVEL ID

SET @LevelBadgeId=(select Top 1 Id from LevelBadge where NoofTweets<=@CountOfUserReportedTweets order by NoofTweets desc)

IF EXISTS(select * from UserLevel where UserId=@Userid)

BEGIN

UPDATE UserLevel SET LevelBadgeId=@LevelBadgeId

WHERE UserId=@Userid

END

ELSE

BEGIN

INSERT INTO UserLevel(UserId,LevelBadgeId) VALUES (@Userid,@LevelBadgeId)

END

END

ELSE

BEGIN

--IF NO LEVEL EXISTS THEN INSERTING DEFAULT LEVEL

IF EXISTS(select * from UserLevel where UserId=@Userid)

BEGIN

UPDATE UserLevel SET LevelBadgeId=1

WHERE UserId=@Userid

END

ELSE

BEGIN

INSERT INTO UserLevel(UserId,LevelBadgeId) VALUES (@Userid,1)

END

END

END

Comments

Popular posts from this blog

Top MNC Interview Questions- Full Stack Developer

Interview Questions-2

How to get the user details, user current level, next level, Rank in sql server