要创建的脚本出现 SQL 错误

标签 sql sql-server-2000 ssms

我在一个表上使用了 SQL Server 管理工作室,将 Create Script 设置为 New,并做了一些小改动。给我一个错误“'('”附近的“(”) 后的“WITH”的语法不正确

/* EventType Table Creation */

CREATE TABLE [EventType]
(
 [pkEventID]  [int] IDENTITY(1,1) NOT NULL,
 [Description] [nvarchar](50) NOT NULL,
 [BeginDate]  [datetime] NOT NULL,
 [EndDate]  [datetime] NOT NULL,
 [Comments]  [nvarchar](500) NOT NULL,
 CONSTRAINT [PK_EventType] PRIMARY KEY 
 CLUSTERED 
 (
 [pkEventID] 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

最佳答案

您正在执行哪个版本的 Microsoft SQL Server CREATE TABLE声明反对?根据文档,MS SQL Server 2000 无法识别 WITH (...index options...) 的语法。 . MS SQL Server 2005 及更高版本支持该语法。

即使您使用 SQL Managment Studio 2005,您也可能连接到 MS SQL Server 2000。要验证版本,请尝试以下查询:

SELECT  SERVERPROPERTY('productversion'), 
  SERVERPROPERTY ('productlevel'), 
  SERVERPROPERTY ('edition');

MS SQL Server 2000 productversion是 8.x。

MS SQL Server 2005 的 productversion是 9.x。

MS SQL Server 2008 的 productversion是 10.x。

关于要创建的脚本出现 SQL 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/753621/

相关文章:

日期范围越小SQL查询时间越长?

sql - 复制时插入带有标识列的表会导致 SQL Server 出错

mysql - 鉴于这些表格,我将如何选择所有未标记的案例?

mysql - 为什么这个 LEFT JOIN 消除了另一个表中没有任何内容的记录?

sql - 同时通话

sql-server - 是否可以直接在 T-SQL 语言中计算 MD5 哈希?

sql-server - 将 SQL Server 2008 转换为 2000

php - $wpdb 特定多个数据库表条目的 SQL 语法

sql-server - 按依赖顺序编写 Sql Server 数据库中所有 View /函数/过程的脚本

sql-server - 如何将 SQL 数据库的架构保存到文件中?