0

我有这个查询,并且在“)”(CREATE TABLE 的结尾)和“END”附近出现不正确的语法错误。

现在,如果我删除 BEGIN 和 END 行,这可以正常工作,但我不完全确定它有什么问题。

注意:这不是成品,因为在这之后还有更多,在它之前还有更多。这只是一个更大的项目的一部分,但这些部分是相当独立的,除了该 [ARCSCON] 表的存在之外,此查询中的任何内容都不依赖于任何其他部分。

谁能告诉我我做错了什么?

IF  EXISTS( SELECT * FROM sys.objects 
    WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[ARCSCON]'))
BEGIN

CREATE TABLE  [tempSAItems](        
            [Id] int identity(44444,1),
            [Name] nvarchar(55),
            [Type] nvarchar(50) DEFAULT 'Service Agreement',
            [Inactive] bit DEFAULT '0',
            [Purchased] bit DEFAULT '0',
            [MSDS] bit DEFAULT '0',
            [IncomeAccountID] int DEFAULT '7',
            [LaborCoverd] bit DEFAULT '0',
            [PartsCoverd] bit DEFAULT '0',
            [LifeTime] bit DEFAULT '0',
            [TravelCoverd] bit DEFAULT '0',
            [NumVisits] int, --[DURATION]
            [bLaborItem] bit DEFAULT '0',
            [bDirectCost] bit DEFAULT '0',
            [bAddToSales] bit DEFAULT '0',
            [sCostingMethod] nvarchar(50) DEFAULT 'Average Cost')
GO

INSERT INTO [tempSAItems]([Name])
SELECT DISTINCT [SCHEDTYPE]
FROM [ARCSCON]
GO  


END
4

1 回答 1

1

正如@LittleBoobyTables 评论的那样,只是摆脱Go了中间的文字。

IF  EXISTS( SELECT * FROM sys.objects 
    WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[ARCSCON]'))
BEGIN

CREATE TABLE  [tempSAItems](        
            [Id] int identity(44444,1),
            [Name] nvarchar(55),
            [Type] nvarchar(50) DEFAULT 'Service Agreement',
            [Inactive] bit DEFAULT '0',
            [Purchased] bit DEFAULT '0',
            [MSDS] bit DEFAULT '0',
            [IncomeAccountID] int DEFAULT '7',
            [LaborCoverd] bit DEFAULT '0',
            [PartsCoverd] bit DEFAULT '0',
            [LifeTime] bit DEFAULT '0',
            [TravelCoverd] bit DEFAULT '0',
            [NumVisits] int, --[DURATION]
            [bLaborItem] bit DEFAULT '0',
            [bDirectCost] bit DEFAULT '0',
            [bAddToSales] bit DEFAULT '0',
            [sCostingMethod] nvarchar(50) DEFAULT 'Average Cost')
--GO
^Here

INSERT INTO [tempSAItems]([Name])
SELECT DISTINCT [SCHEDTYPE]
FROM [ARCSCON]
GO  


END
于 2013-03-18T17:12:12.517 回答