/Script/storeproc_v2.sql
http://awoe.googlecode.com/ · SQL · 44 lines · 40 code · 4 blank · 0 comment · 5 complexity · 98bb0d2e13e0f809442672bd522d8cce MD5 · raw file
- drop procedure if exists load_players;
- create procedure load_players(IN vaid INT)
- begin
- select pid, name, gender, features, money_g, money_s, prop_vit, prop_str, prop_agi, prop_int, prop_left, datax, datay, dataz from player where aid = vaid;
- end;
-
- drop procedure if exists create_players;
- create procedure create_players(IN vpid INT, IN vaid INT,
- IN vname VARCHAR(50), IN vgender TINYINT, IN vfeatures TINYINT)
- begin
- select max(pid)+1 into vpid;
- insert into player (pid, aid, name, gender, features, money_g, money_s, prop_vit, prop_str, prop_agi, prop_int, prop_left)
- values (vpid, vaid, vname, vgender, vfeatures, 0, 0, 0, 0, 0, 0, 0);
- end;
-
- drop procedure if exists update_player;
- create procedure update_player(IN vpid INT, IN vaid INT,
- IN vname VARCHAR(50), IN vgender TINYINT, IN vfeatures TINYINT,
- IN vmoney_g INT, IN vmoney_s INT,
- IN vprop_vit SMALLINT, IN vprop_str SMALLINT, IN vprop_agi SMALLINT, IN vprop_int SMALLINT, IN vprop_left SMALLINT,
- IN vdatax INT, IN vdatay INT, IN vdataz INT)
- begin
- select count(*) from player;
- select pid from player where pid = vpid and aid = vaid into vpid;
- if vpid=0 then
- select max(pid)+1 into vpid;
- insert into player (pid, aid, name, gender, features, money_g, money_s, prop_vit, prop_str, prop_agi, prop_int, prop_left, datax, datay, dataz)
- values (vpid, vaid, vname, vgender, vfeatures, vmoney_g, vmoney_s, vprop_vit, vprop_str, vprop_agi, vprop_int, vprop_left, vdatax, vdatay, vdataz);
- else
- update player where pid=pid and aid = vaid
- set name = vname,
- gender = vgender, features = vfeatures,
- money_g = vmoney_g, money_s = vmoney_s,
- prop_vit = vprop_vit, prop_str = vprop_str, prop_agi=vprop_agi, prop_int=vprop_int, prop_left=vprop_left,
- datax = vdatax, datay=vdatay, dataz=vdataz;
- end if
- end;
-
- drop procedure if exists remove_player;
- create procedure remove_player(IN vpid INT)
- begin
- delete from player where pid=vpid;
- end;