-
- Katılım
- Nisan 11, 2015
-
- Mesajlar
- 645
-
- Tepkime puanı
- 0
-
- Puanları
- 266
-
- Yaş
- 34
1. uygulayacağımız kod
Kod:
np si 10k dan az, 2012 yılının 1. ayının 1.günü saat 01:00 den önce giriş yapmış ve bir daha oyuna girmemiş charlari silmek için kullanılan kod dur.
Tarihi isteğinize göre değiştirebilirsiniz. Yıl/ay/gün şeklinde.(kırmızı ile yazılmış olan)
birde.
ALıntı kod var ( userdatadan silinen charlari account_chardan da siliyor ). Önce yukarda verdiğim Kodu çalıştırınız, ardından aşağıdaki kodu calistiriniz.
2.uygulayacağımız kod.
Kod:
3.uygulayacağımız kod
3 hesaptan 1 i aktif ise kullanılıyorsa bu işlemi gerçekleştiremezsiniz.
İyi Forumlar...
~Saygılar
Kod:
PHP:
delete userdata where updatetime < '2012-01-01 01:00:00' and loyalty < 10000
np si 10k dan az, 2012 yılının 1. ayının 1.günü saat 01:00 den önce giriş yapmış ve bir daha oyuna girmemiş charlari silmek için kullanılan kod dur.
Tarihi isteğinize göre değiştirebilirsiniz. Yıl/ay/gün şeklinde.(kırmızı ile yazılmış olan)
birde.
ALıntı kod var ( userdatadan silinen charlari account_chardan da siliyor ). Önce yukarda verdiğim Kodu çalıştırınız, ardından aşağıdaki kodu calistiriniz.
2.uygulayacağımız kod.
Kod:
PHP:
CREATE PROCEDURE [temizlik1]
--@AccountID varchar(21)
AS
SET NOCOUNT ON
DECLARE @AccountID varchar(21)
DECLARE @m1 char(21), @m2 char(21), @m3 char(21), @s1 tinyint, @s2 tinyint, @s3 tinyint, @c1 char(21), @c2 char(21), @c3 char(21), @r1 tinyint, @r2 tinyint, @r3 tinyint,@u char(21)
SET @r1=0
SET @r2=0
SET @r3=0
SET @s1=0
SET @s2=0
SET @s3=0
SET @c1=null
SET @c2=null
SET @c3=null
DECLARE job1 CURSOR FOR
Select straccountid from Account_char
OPEN job1
FETCH NEXT FROM job1
INTO @AccountID
WHILE @@fetch_status = 0
BEGIN
SELECT @c1 = strcharid1, @c2 = strcharid2, @c3 = strcharid3 FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
SELECT @r1=count(struserid) FROM [dbo].[USERDATA] WHERE strUserId=@c1
IF @r1=0
UPDATE ACCOUNT_CHAR set strcharid1=null where strAccountID = @AccountID
SELECT @r2=count(struserid) FROM [dbo].[USERDATA] WHERE strUserId=@c2
IF @r2=0
UPDATE ACCOUNT_CHAR set strcharid2=null where strAccountID = @AccountID
SELECT @r3=count(struserid) FROM [dbo].[USERDATA] WHERE strUserId=@c3
IF @r3=0
UPDATE ACCOUNT_CHAR set strcharid3=null where strAccountID = @AccountID
SELECT @m1 = strcharid1, @m2 = strcharid2, @m3 = strcharid3 FROM ACCOUNT_CHAR WHERE strAccountID = @AccountID
select @s1=count(struserid) from [dbo].[USERDATA] where strUserId=@m1
select @s2=count(struserid) from [dbo].[USERDATA] where strUserId=@m2
select @s3=count(struserid) from [dbo].[USERDATA] where strUserId=@m3
update account_char set bcharnum=@s1+@s2+@s3 where strAccountID=@AccountID
FETCH NEXT FROM job1
INTO @AccountID
END
CLOSE job1
DEALLOCATE job1
SET NOCOUNT OFF
GO
3.uygulayacağımız kod
PHP:
delete account_char where strcharid1 is null and strcharid2 is null and strcharid3 is null
delete tb_user where straccountid not in (select straccountid from account_char)
delete warehouse where straccountid not in (select straccountid from tb_user)
3 hesaptan 1 i aktif ise kullanılıyorsa bu işlemi gerçekleştiremezsiniz.
İyi Forumlar...
~Saygılar