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 に答える