2011-10-10 97 views
0

有谁知道是否有可能创建一个UDDT是像这样在SQL Server 2008用户定义的数据类型:创建基于INT IDENTITY(#,#)

CREATE TYPE dbo.TID FROM int NOT NULL IDENTITY(1,1) 

的身份,然后一切(1,1)是合法的,并且会生成一个新的UDDT。但是,我需要在定义UDDT和定义表格期间自动设置IDENTITY。有时,如果我们决定从INT IDENTITY(#,#)更改为UNIQUEIDENTIFIER,我只想在一个地方更改它。我不觉得它很有趣,通过表格修改从一种类型到另一种类型,特别是因为会有很多表格。

问候,

Huske

回答

1

这是不可能的。看看CREATE TYPE。身份不是数据类型的一部分。它是列定义的一部分。

+0

我在看'CREATE TYPE',暗暗希望这样的事情是可能的。不管怎么说,还是要谢谢你。 –

1

号身份属性附加表中也一样,不只列

你可能不觉得有趣,但是这是SQL如何工作

  • 并非所有的表都需要一个代理键
  • 一些表需要TINYINT或SMALLINT或BIGINT
  • 如果需要唯一标识符,现在使用它(并采取聚集索引命中)
  • 你有一个实际的现在需要