我使用SQL 2008编写了我的dev数据库中的表 - 生成脚本选项(Datbase->右键单击 - >任务 - >生成脚本)并在登台数据库上运行它,但脚本抛出以下错误对于每个表
Msg 102,Level 15,State 1,Line 1 '('。Msg 319附近的语法不正确, 等级15,状态1,行15不正确 关键字'with'附近的语法。如果 这个陈述是一个常见的表格 表达式,xmlnamespaces子句或 一个变更跟踪上下文子句, 必须终止先前的陈述 用分号。
以下是我的一个表
的脚本ALTER TABLE [dbo].[Customer](
[CustomerID] [int] IDENTITY(1,1) NOT NULL,
[FirstName] [nvarchar](500) NULL,
[LastName] [nvarchar](500) NULL,
[DateOfBirth] [datetime] NULL,
[EmailID] [nvarchar](200) NULL,
[ContactForOffers] [bit] NULL,
CONSTRAINT [PK_Customer] PRIMARY KEY CLUSTERED
(
[CustomerID] 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
非常感谢任何帮助。
答案 0 :(得分:1)
如果是CREATE TABLE
,您提供的脚本100%正确无误作为ALTER TABLE,这是完全错误的:这就是你得到错误的原因......
自生成以来脚本已更改:SSMS不会将“脚本作为ALTER”选项
答案 1 :(得分:1)
如果您尝试编写创建脚本,然后在新数据库中运行它,您不想要'CREATE'而不是ALTER吗?我也没有SSMS中的'alter'选项,所以gbn说,它必须已经改变。
编辑:作为附注 - 您是否真的希望首字母和姓氏的字段长度为500?似乎过度。