• 296阅读
  • 10回复

[讨论]关于复制问题的SQL,成功解决复制的来。。 [复制链接]

上一主题 下一主题
离线kevinhai
 
发帖
196
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2005-03-08

以下代码我在SQL查询器里怎么一运行就出错啊。。。


错误是。。。


服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'dbo' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'dbo' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'dbo' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 4
第 4 行: ')' 附近有语法错误。


清高手帮忙解决啊。。。。



if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[trg_CheckSameID]) and OBJECTPROPERTY(id, NIsTrigger) = 1)
drop trigger [dbo].[trg_CheckSameID]
GO
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[AllItemsLog]) and OBJECTPROPERTY(id, NIsUserTable) = 1)
drop table [dbo].[AllItemsLog]
GO
if exists (select * from dbo.sysobjects where id = object_id(N[dbo].[CopyLog]) and OBJECTPROPERTY(id, NIsUserTable) = 1)
drop table [dbo].[CopyLog]
GO
CREATE TABLE [dbo].[AllItemsLog] (
[items_id] [int] IDENTITY (1, 1) NOT NULL ,
[items_type] [binary] (1) NOT NULL ,
[items_serial] [binary] (4) NOT NULL ,
[items_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[CopyLog] (
[copy_id] [int] IDENTITY (1, 1) NOT NULL ,
[copy_acid] [varchar] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[copy_whdata] [binary] (1200) NOT NULL ,
[copy_date] [datetime] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[AllItemsLog] ADD
CONSTRAINT [DF_CT_ITEM_item] DEFAULT (0) FOR [items_type],
CONSTRAINT [DF_CT_ITEM_itemid] DEFAULT (0) FOR [items_serial],
CONSTRAINT [DF_CT_ITEM_itemrole] DEFAULT () FOR [items_acid]
GO
CREATE INDEX [IX_CT_ITEM] ON [dbo].[AllItemsLog]([items_type], [items_serial]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[CopyLog] ADD
CONSTRAINT [DF_CopyLog_copy_date] DEFAULT (getdate()) FOR [copy_date]
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE TRIGGER [dbo].[trg_CheckSameID] ON [dbo].[character]
FOR UPDATE
AS
BEGIN
IF UPDATE(inventory)
BEGIN
SET NOCOUNT ON
DECLARE
@wh_acid varchar(10),
@wh_data binary(1200),
@wh_type binary(1),
@wh_serial binary(4),
@cr_user varchar(10),
@cr_acid varchar(10),
@cr_data binary(760),
@cr_type binary(1),
@cr_serial binary(4),
@al_acid varchar(10),
@j int,
@k int,
@find bit
SELECT @cr_acid=i.accountid,
@cr_data=i.inventory
FROM inserted i
SET @j=0
SET @find=0
WHILE @j<76 AND @cr_data IS NOT NULL
BEGIN
SET @cr_type=SUBSTRING(@cr_data,@j*10+1,1)
SET @cr_serial=SUBSTRING(@cr_data,@j*10+4,4)
IF @cr_type<>0xFF AND @cr_serial<>0x00000000
BEGIN
SELECT @al_acid=items_acid FROM allitemslog WHERE items_type=@cr_type AND items_serial=@cr_serial
--给物品加上新主人标识
IF @al_acid IS NULL
INSERT INTO allitemslog (items_type,items_serial,items_acid) VALUES (@cr_type,@cr_serial,@cr_acid)
ELSE
BEGIN
UPDATE allitemslog SET items_acid=@cr_acid WHERE items_type=@cr_type AND items_serial=@cr_serial
--从旧主人仓库中查找是否还有同样ID物品
SELECT @wh_data=items FROM warehouse WHERE accountid=@al_acid
SET @k=0
WHILE @k<120 AND @wh_data IS NOT NULL
BEGIN
SET @wh_type=SUBSTRING(@wh_data,@k*10+1,1)
SET @wh_serial=SUBSTRING(@wh_data,@k*10+4,4)
IF @wh_type=@cr_type AND @wh_serial=@cr_serial
SET @find=1
SET @k=@k+1
END
END
END
SET @j=@j+1
END
--发现就清仓库
IF @find=1
BEGIN
INSERT INTO copylog (copy_whdata,copy_acid,copy_date) VALUES (@wh_data,@al_acid,getdate())
UPDATE warehouse SET items=NULL WHERE accountid=@al_acid
END
SET NOCOUNT OFF
END
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO


[此贴子已经被作者于2005-3-8 15:43:50编辑过]
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
点滴工作室
-------------------------------------
软件(MIS):CRM OA 教育软件 网管系统 网站设计 电子政务!
歪歪
离线唯一女人
发帖
229
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 沙发  发表于: 2005-03-08

顶/。。。。。


听说有一种状态叫
-----------狗仔式运动------------
离线kevinhai
发帖
196
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 板凳  发表于: 2005-03-08
顶。。。。
点滴工作室
-------------------------------------
软件(MIS):CRM OA 教育软件 网管系统 网站设计 电子政务!
歪歪
离线iiibbbmmm
发帖
6808
祝福宝石
0
威望
13834
玛雅之石
0
创造宝石
0
只看该作者 地板  发表于: 2005-03-08
请贴上错误提示
[此贴子已经被作者于2005-3-8 14:13:48编辑过]
以下内容需要回复之后才能查看
----------------------------------------------
离线jiongge
发帖
6
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 4楼 发表于: 2005-03-08

可以防止一部分,不能防止全部的,有个方法就可以躲过这个检测。。。我对复制已经无语,只能通过每天检查解决

离线kevinhai
发帖
196
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 5楼 发表于: 2005-03-08
说1行到4行语法错误。。
点滴工作室
-------------------------------------
软件(MIS):CRM OA 教育软件 网管系统 网站设计 电子政务!
歪歪
离线kevinhai
发帖
196
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 6楼 发表于: 2005-03-08

错误是。。。

服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'dbo' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'dbo' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 1
第 1 行: 'dbo' 附近有语法错误。
服务器: 消息 170,级别 15,状态 1,行 4
第 4 行: ')' 附近有语法错误。

清高手帮忙解决啊。。。。

点滴工作室
-------------------------------------
软件(MIS):CRM OA 教育软件 网管系统 网站设计 电子政务!
歪歪
离线jiongge
发帖
6
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 7楼 发表于: 2005-03-08
我的可以用,我回去给你贴过来
离线kevinhai
发帖
196
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 8楼 发表于: 2005-03-08
高手呢。。帮帮忙啊。。。。。。。。。。。
点滴工作室
-------------------------------------
软件(MIS):CRM OA 教育软件 网管系统 网站设计 电子政务!
歪歪
离线kevinhai
发帖
196
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 9楼 发表于: 2005-03-08
别让他沉啊。。。。高手帮帮忙啊。。。
点滴工作室
-------------------------------------
软件(MIS):CRM OA 教育软件 网管系统 网站设计 电子政务!
歪歪
离线kevinhai
发帖
196
祝福宝石
0
威望
0
玛雅之石
0
创造宝石
0
只看该作者 10楼 发表于: 2005-03-09

高手呢。。。。。

怎么都不见了。。。

点滴工作室
-------------------------------------
软件(MIS):CRM OA 教育软件 网管系统 网站设计 电子政务!
歪歪
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个

      管理员联系信箱 [email protected] 所有内容均来之互联网,如侵犯您的隐私和权益,请和我们及时联系!