传奇3.0讨论常要用到的SQL脚本


常要用到的SQL脚本 --说明:此SQL脚本专为删除复制装备而写
--思路:将所有玩家仓库/身上/包袱中的装备全部放入一个临时表,再从临时表中查询MAKEINDEX重复的装备并遂个删除
--   删除的记录记在日志文件TBL__DELLOG中。
--日期:2003/04/29
--修正日期:2003/05/20
--改进了算法,只列出makeindex相同且装备代码相同的物品。
--改动处:LTRIM(STR([FLD_MAKEINDEX]))+LTRIM(STR([FLD_INDEX])) AS FLD_TID 数据挖掘工具

USE muddb
GO
---建立临时表
if exists (select * from dbo.sysobjects where id = object_id(N"[dbo].[TBL_ALLITEM]") and OBJECTPROPERTY(id, N"IsUserTable") = 1)
drop table [dbo].[TBL_ALLITEM]
GO

CREATE TABLE [dbo].[TBL_ALLITEM] (
[FLD_CHARACTER] [char] (15) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[FLD_TYPE] [tinyint] NULL ,
[FLD_MAKEINDEX] [int] NOT NULL ,
[FLD_TID] [varchar] (30) NOT NULL ,
[FLD_INDEX] [int] NOT NULL ,
[Name] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL,
[Place] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]
GO

--从玩家身上/包袱获取数据
INSERT INTO [muddb].[dbo].[TBL_ALLITEM]([FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX],[FLD_TID],[FLD_INDEX],[Name],[Place])
SELECT [FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX], LTRIM(STR([FLD_MAKEINDEX]))+LTRIM(STR([FLD_INDEX])) AS FLD_TID,[FLD_INDEX],[Name],"身上" AS Place
FROM [muddb].[dbo].[TBL_ITEM],[muddb].[dbo].[StdItems]
WHERE [FLD_INDEX]-1=[Idx]
GO

--从仓库获取数据

数据挖掘交友


INSERT INTO [muddb].[dbo].[TBL_ALLITEM]([FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX],[FLD_TID],[FLD_INDEX],[Name],[Place])
SELECT [FLD_CHARACTER], [FLD_TYPE], [FLD_MAKEINDEX], LTRIM(STR([FLD_MAKEINDEX]))+LTRIM(STR([FLD_INDEX])) AS FLD_TID,[FLD_INDEX],[Name],"仓库" AS Place
FROM [muddb].[dbo].[TBL_SAVEDITEM],[muddb].[dbo].[StdItems]
WHERE [FLD_INDEX]-1=[Idx]
GO

--记录将要删除的复制装备
if not exists (select * from dbo.sysobjects where id = object_id(N"[muddb].[dbo].[TBL__DELLOG]") and OBJECTPROPERTY(id, N"IsUserTable") = 1)
CREATE TABLE [muddb].[dbo].[TBL__DELLOG] (
[删除日期] datetime not null,
[FLD_MAKEINDEX] [int] NOT NULL ,
[角色名] [char] (15) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[装备代码] [int] NULL ,
[装备名称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL,
[存放地点] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL 
) ON [PRIMARY]

GO

INSERT INTO [muddb].[dbo].[TBL__DELLOG]([删除日期],[FLD_MAKEINDEX],[装备代码],[装备名称],[角色名],[存放地点]) 数据挖掘研究院
SELECT getdate() as 删除日期,[FLD_MAKEINDEX] , [FLD_INDEX]-1 AS 装备代码,[Name] AS 装备名称,[FLD_CHARACTER] AS 角色名, [Place] AS 存放地点
FROM [muddb].[dbo].[TBL_ALLITEM]
WHERE ((([FLD_TID]) In
(SELECT [FLD_TID] FROM [TBL_ALLITEM] As Tmp GROUP BY [FLD_TID] HAVING Count([FLD_TID])>1 )))
ORDER BY [FLD_MAKEINDEX]

GO
--遂个删除复制装备
DECLARE @T_ID char (30),@I_MAKEINDEX int , @V_Place varchar (10)
DECLARE D_ITEMS_cursor CURSOR FOR

SELECT [FLD_TID],[FLD_MAKEINDEX],[Place]
FROM [muddb].[dbo].[TBL_ALLITEM]
WHERE ((([FLD_TID]) In
(SELECT [FLD_TID] FROM [TBL_ALLITEM] As Tmp GROUP BY [FLD_TID]
HAVING Count([FLD_TID])>1 )))
ORDER BY [FLD_MAKEINDEX]

OPEN D_ITEMS_cursor

FETCH NEXT FROM D_ITEMS_cursor INTO @T_ID,@I_MAKEINDEX,@V_Place

WHILE @@FETCH_STATUS = 0

BEGIN

  BEGIN
   IF @V_Place = "仓库" 
     DELETE FROM [muddb].[dbo].[TBL_SAVEDITEM] WHERE [FLD_MAKEINDEX] = @I_MAKEINDEX

数据挖掘论坛


   ELSE
     DELETE FROM [muddb].[dbo].[TBL_ITEM] WHERE [FLD_MAKEINDEX] = @I_MAKEINDEX
  END

FETCH NEXT FROM D_ITEMS_cursor INTO @T_ID,@I_MAKEINDEX,@V_Place

END

CLOSE D_ITEMS_cursor
DEALLOCATE D_ITEMS_cursor

GO

if exists (select * from dbo.sysobjects where id = object_id(N"[dbo].[TBL_ALLITEM]") and OBJECTPROPERTY(id, N"IsUserTable") = 1)
drop table [dbo].[TBL_ALLITEM]

GO
[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:3.0传奇真正的多机负载方法
下一篇:Oracle数据安全面面观
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • 构筑更安全的乐园
  • 国内域名解析服务器DNS分布表
  • Linux环境下基于策略的路由
  • 基于UNIX平台FTP服务器的建立
  • 调优Web站点性能完全攻略
  • Internet防火墙技术及安全策略
  • 拖动改变Table的列宽度
  • 国产FTP助手
  • 个人电脑变网站服务器全面解决方案
  • 网络安全漏洞检测
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • 调优Web站点性能完全攻略
  • IIS6.0下ASP的新增功能(五)
  • 实战J2EE开发购物网站经验篇
  • IIS6.0下ASP的新增功能(四)
  • IIS6.0下ASP的新增功能(一)
  • IIS6.0下ASP的新增功能(三)
  • 个人电脑变网站服务器全面解决方案
  • 国产FTP助手
  • TAB键的缩排处理
  • Serv
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静