Hi all,
I have a ranking system where I wish to update the ranking every time a result is reported. Performance is no issue what-so-ever. More specifically, two players are to devide their points after each series of games to reflect the fraction of over-all games that each player have won.
I've written the trigger below, but Visual Web Developer 2005 Express (SQL Server 2005 Express) complains about the references to the 'inserted'-table.
I find it very difficult to transform the code below to something that looks like the examples found in documentation.
Could someone get me started in the right direction?
Thanks in advance,
Anders
create trigger result_insertonresult
after insert as
begin
declare@.won1as int
declare@.won2as int
declare@.oldRank1as float
declare@.oldRank2as float
declare@.oldranksumas float
select@.won1 =sum(wongames1)fromresultwhereplayer1 = inserted.player1andplayer2=inserted.player2
select@.won2 =sum(wongames2)fromresultwhereplayer1 = inserted.player1andplayer2=inserted.player2
select@.oldrank1 = RankfromRankingInfowherememberid = inserted.playerid1
select@.oldrank2 = RankfromRankingInfowherememberid = inserted.playerid2
set@.oldranksum = @.oldrank1 + @.oldrank2
updaterankingInfosetRank = @.won1 / ( @.won1+@.won2) * @.oldranksumwherememberid = inserted.player1
updaterankingInfosetRank = @.won2 / ( @.won1+@.won2) * @.oldranksumwherememberid = inserted.player2
end
Hello Anders,tha fact is theinserted table is but a table, so you need JOIN-ing to it as you would for any standard table...
Hope this helps. -LV
No comments:
Post a Comment