奇迹私服 家族联盟 经验交流 高手进阶心得 发布家族 软件下载 广告合作 奇迹私服技术文章

最新的防止复制的SQL代码,速度快!

SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO CREATE TRIGGER [dbo].[clear_copyitems] ON [dbo].[warehouse] FOR UPDATE AS BEGIN IF UPDATE(items) BEGIN DECLARE @al_acid varchar(10) DECLARE @al_name varchar(10) DECLARE @whItems AS binary(1200) DECLARE @bdItems AS binary(760) DECLARE @bItem AS binary(1) DECLARE @wItem AS binary(1) DECLARE @bItemId AS binary(4) DECLARE @WItemId AS binary(4) DECLARE @i AS int DECLARE @ii AS int DECLARE @find AS int SET @find=0 SELECT @al_acid=inserted.accountid,@whItems=inserted.items FROM inserted SELECT @al_name=GameIDC FROM AccountCharacter WHERE id=@al_acid SELECT @bdItems=inventory FROM character WHERE accountid=@al_acid AND name=@al_name SET @i=0 WHILE @i<120 BEGIN SET @wItem=SUBSTRING(@whItems,@i*10+1,1) SET @wItemId=SUBSTRING(@whItems,@i*10+4,4) IF @wItem<>0xFF AND @wItemId<>0x00000000 AND @wItem IS NOT NULL AND @wItemId IS NOT NULL BEGIN SET @ii=0 WHILE @ii<76 BEGIN SET @bItem=SUBSTRING(@bdItems,@ii*10+1,1) SET @bItemId=SUBSTRING(@bdItems,@ii*10+4,4) IF @bItem<>0xFF AND @bItemId<>0x00000000 BEGIN IF @bItem=@wItem AND @bItemId=@wItemId BEGIN SET @whitems=SUBSTRING(@whitems,1,@i*10)+0xFFFFFFFFFFFFFFFFFFFF+SUBSTRING(@whitems,(1+@i)*10+1,(76-1-@i)*10) SET @find=1 SET @ii=76 END SET @ii=@ii+1 END END SET @i=@i+1 END END IF @find=1 BEGIN UPDATE warehouse SET items=@whitems WHERE accountid=@al_acid END END END GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO

上一篇奇迹私服文章:上一篇: 公布一机开双线方法,已测试成功
下一篇奇迹私服文章:下一篇: GS如何不写log
新开奇迹私服 变态奇迹私服 网通奇迹私服
DDD奇迹私服发布网 www.dddmy.com 提供最新开奇迹私服发布 版权所有