如何在SQL Server Management Studio中生成列删除和创建脚本

4
有人能告诉我如何在SQL Server管理工具中生成列的删除和创建脚本吗?我尝试使用“生成更改脚本”选项,但它只生成了创建脚本,没有为该列生成删除脚本。
此外,在表设计视图中,我找不到添加命名默认约束或任何其他特定命名约束的方法。如果我指定默认值,则它只会添加带有动态生成名称的默认约束。
提前感谢:)
1个回答

4

如果您在SSMS的可视化设计器中打开一个表格,然后删除一个列,接着创建一个新列,在退出或保存之前,在设计器的上下文菜单中选择Generate Change Script,则您应该在更改脚本中获得这两个操作:

ALTER TABLE dbo.Messages ADD
    IsActive bit NOT NULL CONSTRAINT DF_Messages_IsActive DEFAULT 1
GO

ALTER TABLE dbo.Messages
    DROP COLUMN ToProfileId
GO

我的SQL Server版本是2008 R2 - 不确定与以前的版本是否有所不同。重要提示:在获取更改脚本之前,请勿保存或离开设计器!

据我所知,视觉设计器中没有提供命名默认约束的选项 - 但是从我的示例中可以看出,默认系统设置似乎非常可用 - 对吗?

如果您确实必须使用自己的命名约定,恐怕没有其他方法,只能在执行 T-SQL 脚本之前编辑它。


嗨,marc_s,感谢您的回复。实际上,我想要的是获取我正在添加的相同新列的删除和创建脚本。另外, 是的,您是对的,我们可以使用SQL服务器的命名,但我不知道为什么有时会在约束名称中添加一些动态数字,例如 DF__Leagues__AcceptO__68536ACF 这些数字我实际上不想要。 - user606035

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接