为什么在用户定义的表类型的数据库中保留了默认值?

时间:2018-05-01 15:34:14

标签: sql-server tsql ssms

我能够在SSMS中部署用户定义的表类型,其默认值如下:

CREATE TYPE [MySchema].[Test] AS TABLE
(
    [TestColumn] BIT NOT NULL DEFAULT 0
)

当我在部署DEFAULT 0之后拉动源时,消失了:

CREATE TYPE [MySchema].[Test] AS TABLE(
    [TestColumn] [bit] NOT NULL
)

为什么SSMS不再显示DEFAULT 0?

1 个答案:

答案 0 :(得分:2)

我在SQL Server 2008 R2版本中试过这个。

第1步。在数据库上运行以下sql

CREATE TYPE [Test] AS TABLE
(
    [TestColumn] BIT NOT NULL DEFAULT 0
)

第2步。转到对象资源管理器,可编程性,类型,用户定义的表类型,右键单击“测试表”类型并选择脚本用户定义的表类型为,选择“创建”。 输出如下。

USE [test_database]
GO

/****** Object:  UserDefinedTableType [dbo].[Test]    Script Date: 5/1/2018 12:21:08 PM ******/
CREATE TYPE [dbo].[Test] AS TABLE(
    [TestColumn] [bit] NOT NULL DEFAULT ((0))
)
GO

保留默认值0。 我正在使用SSMS 14.0版本。