[Help] Delete Guilds

mirko

New Member
Joined
Mar 30, 2009
Messages
15
Reaction score
3
Някой може ли да ми даде код с който да изтрия всички гилдии с по 1 човек . Версията е 97d99i
 
Code:
alter table guild nocheck constraint all
alter table guildmember nocheck constraint all
delete from guild
where EXISTS (
SELECT m.G_Name,count(*) as memb from GuildMember m
where guild.g_name=m.G_name
group by m.G_Name
having count(*) <2
)
 
Code:
alter table guild nocheck constraint all
alter table guildmember nocheck constraint all
delete from guild
where EXISTS (
SELECT m.G_Name,count(*) as memb from GuildMember m
where guild.g_name=m.G_name
group by m.G_Name
having count(*) <2
)

нека бъдем малко по-чистички спрямо кода си, ако това нещо го пусне всички в тази гилдия няма да могат да се присъединяват към други гилдий до изчистване на записа в GuildMember.. бих добавил
Code:
delete from guildmember group by [G_Name] having count(*) <2

Още.. бих препоръчал да релоаднеш datata от ExDB, ако искаш да не рестартираш сървръра за да има ефект..
 
незнам какво препоръчваш и къде гледаш но ще е хубаво да пробваш кода и след това да приказваш тъи като съм го пробвал няколкократно и несъм имал проблеми.
 
незнам какво препоръчваш и къде гледаш но ще е хубаво да пробваш кода и след това да приказваш тъи като съм го пробвал няколкократно и несъм имал проблеми.
Момче, вземи помисли малко

Първите ти два реда са за да избегнеш зависимоста на parent и child таблици. От която реално едната е ненужна, тъй като ти не буташ GuildMember, още когато ти изтриеш гилдия, изтриваш гилдията, НО играча остава все още "член" на несъществуваща гилдия и следователно докато това не се премахне той не може да се присъедини към друга, това естествено е ако нямаш модифицарни процедури специално за това..което ме съмнява,че някой тук има. Презареждането на ExDB или рестарт на GameServerа също е задължително тъй като EXDB сторе-ва Guild кеш и не го чете за всяка гилдия статично ...

И никой не те кара "да знаеш какво препоръчвам" .. за това го пиша .
 
Аз много добре виждам че не ги изтрива от guildmember но след като влезне в друг гилд не дава никакви проблеми в смисъл такъв че си показва гилда и всичко си е нормално.
Това се опитах да ти обесня по-горе.
 
delete from guildmember group by [G_Name] having count(*) <2

както каза strsup