我有这个查询,并且在'''(CREATE TABLE结束)和'END'附近得到错误的语法错误。如果... BEGIN ... 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
摆脱中间的'GO';它表示一个处理组的结束,但你已经在IF语句的中间。 – LittleBobbyTables 2013-03-18 17:07:46