1 create or replace function merge_players(p_winner_player_id players.player_id%TYPE, p_loser_player_id players.player_id%TYPE) RETURNS void as
6 -- start with weapon stats
7 update player_weapon_stats
8 set player_id = p_winner_player_id
9 where player_id = p_loser_player_id;
11 get diagnostics rowcount = ROW_COUNT;
12 raise notice '% weapon stat rows updated.', rowcount;
15 update player_game_stats
16 set player_id = p_winner_player_id
17 where player_id = p_loser_player_id;
19 get diagnostics rowcount = ROW_COUNT;
20 raise notice '% game stat rows updated.', rowcount;
22 -- then hashkeys (winner takes the loser's hashkey)
24 set player_id = p_winner_player_id
25 where player_id = p_loser_player_id;
27 get diagnostics rowcount = ROW_COUNT;
28 raise notice '% hashkeys copied.', rowcount;
30 -- and finally deactivate the old player record
31 update players set active_ind = false where player_id = p_loser_player_id;