Hi, all is in the title, I tried to write some SQL code on level procedure, but it appair to be a little bit heavy, here's my code if someone can help :
Thank you :)Code:DECLARE @SkList table(SkId int) DECLARE @clss int DECLARE @levl int DECLARE @TotalSk int DECLARE @sklrn int DECLARE @i int /* GET CHAR INFOS */ SELECT @clss = nClass FROM tCharacterShape WHERE nCharNo = @nCharNo SELECT @levl = nLevel FROM tCharacter WHERE nCharNo = @nCharNo /* SKILL LIST */ IF @levl = '10' BEGIN IF @clss = '4' OR @clss = '5' BEGIN insert @SkList(SkId) values(1) insert @SkList(SkId) values(20) insert @SkList(SkId) values(80) insert @SkList(SkId) values(21) END END IF @levl = '20' BEGIN IF @clss = '5' BEGIN insert @SkList(SkId) values(2) insert @SkList(SkId) values(21) insert @SkList(SkId) values(40) insert @SkList(SkId) values(60) insert @SkList(SkId) values(81) insert @SkList(SkId) values(140) insert @SkList(SkId) values(160) insert @SkList(SkId) values(180) insert @SkList(SkId) values(260) insert @SkList(SkId) values(505) END IF @clss = '4' BEGIN insert @SkList(SkId) values(120) insert @SkList(SkId) values(100) insert @SkList(SkId) values(21) insert @SkList(SkId) values(40) insert @SkList(SkId) values(60) insert @SkList(SkId) values(81) insert @SkList(SkId) values(140) insert @SkList(SkId) values(180) insert @SkList(SkId) values(260) insert @SkList(SkId) values(505) END END SELECT @TotalSk = count(SkId) FROM @SkList SET @i = 0 /* LEARN SKILLS */ WHILE @i < @TotalSk + 1 BEGIN WITH tab AS (SELECT (ROW_NUMBER() OVER (ORDER BY myTable.SomeField)) as row,* FROM @SkList) SELECT @sklrn = SkId FROM tab WHERE row = @i EXEC [dbo].[p_Skill_Set] @nCharNo, @sklrn, '0', '0', '0', '0', '0', '0', '0', '0', 0 SET @i = @i + 1 END


Reply With Quote

