SQL服务器中'('附近的语法不正确

时间:2014-10-20 14:58:16

标签: sql sql-server sql-server-2000

我遇到以下错误:

  

Msg 170,Level 15,State 1,Line 9 Line 9:
  '('。

附近的语法不正确

我的SQL是:

USE [dbname]
GO

/****** Object:  Table [dbo].[table_name]    Script Date: 10/20/2014 16:41:41 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[table_name]
(
    [ID] [int] NOT NULL,
    [sth] [nvarchar](200) NULL,
    [list] [smallint] NULL,

    CONSTRAINT [PK_table_name] 
       PRIMARY KEY CLUSTERED ([ID] ASC)
           WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, 
                 IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

不幸的是我看不到任何错误。此外,该脚本由SQL Server Management Studio生成(单击表 - >脚本表为 - >创建到 - >新查询窗口)因为我想将表格转换为另一个。

查询中是否有问题,或者可能是由于权限不足(我没有记录为数据库所有者或系统管理员,无论如何我可以通过单击表目录中的“新表”来创建新表)。

编辑:

我正在使用SQL Server Management Studio 2008 R2,服务器是Microsoft SQL Server 2000 - 8.00.2187。

EDIT2:

我试图在SQL Server 2000上执行由MS SQL Server Management Studio 2008 R2生成的脚本。据我所知。

1 个答案:

答案 0 :(得分:2)

尝试

CREATE TABLE table_name
(
    ID int NOT NULL,
    sth nvarchar(200) NULL,
    list smallint NULL,

    CONSTRAINT PK_table_name PRIMARY KEY (ID)
) 

这省略了所有特定语法和特殊WITH选项(无论如何都已经给出了默认值)。熟悉的SQL Server I的所有版本和版本都接受此语法。如果这样可行,则问题是版本不匹配。如果这不起作用,那么你的问题可能完全不同。