2012-02-07 80 views
1

当我尝试从数据库脚本CREATE表,它并不总是编写单一CREATE TABLE内的所有列。一些列将通过ALTER TABLE添加。为什么是这样? SQL服务器是否捕获架构修改的历史记录,并且在初始创建之后添加的任何列都使用ALTERS编写脚本?这很重要的原因是我编写的脚本将在VS数据库项目中使用,并且无法处理ALTER语句。SQL管理工作室“表 - >脚本创建”创建ALTERs

 
CREATE TABLE [dbo].[tblPackageType] 
(
    [PackageTypeId] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, 
    [PackageTypeDesc] [varchar](50) NOT NULL 
) ON [PRIMARY] 
ALTER TABLE [dbo].[tblPackageType] ADD [EDIcode] [varchar](10) NOT NULL 
ALTER TABLE [dbo].[tblPackageType] ADD [EDI211] [varchar](10) NULL 

回答

1

在SQL Server捕捉模式修改的历史,并在初始创建后添加任何列与改变脚本?

是的。

如果您想要解决这个问题,您可以将脚本更改为包含所有需要的列的创建,并且在您运行后,更新后的定义将被保存。