2

当我看Adventure works中的表格时,每一列的设计似乎有点奇怪。由于 AdventureWorks 显示了工业标准,我想遵循它。

在电话号码列中,他们为该列指定类型为 Phone:nvarchar(25)

  1. 为什么他们将类型添加为 Phone:nvarchar(25) ?
  2. Phone:nvarchar(25) 和 nvarchar(25) 有什么区别?
  3. 我尝试手动将电话列的类型键入为 Phone:nvarchar(25) 但它给了我一个错误。为什么它给我一个错误?

如何制作 Phone:nvarchar(25) 类型的电话列?

4

1 回答 1

3

Adventure Works 数据库中有一个用户定义的类型,称为Phone. 如果你想自己创建它,你可以这样做:

create type dbo.Phone from nvarchar(25) null

然后你可以这样做:

create table Contact (id int identity(1,1), name nvarchar(255), phone dbo.Phone)

可以看到typePhonenvarchar(25) nullcolumn默认是column。如果您有很多表,或者您希望有一种方法可以Phone一次更改所有列,则可以使用它来速记。这是一种实践——除非是在某些特殊情况下,否则它并不是真正的“最佳”实践。

于 2012-01-06T03:05:51.800 回答