2012-01-06 94 views
2

当我在Adventure作品中查看表格时,每列的设计看起来有点奇怪。由于AdventureWorks显示工业标准,我想遵循它。AdventureWorks数据库中的数据类型

在电话号码列他们已经给了列类型为 电话:为nvarchar(25)

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

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

回答

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) 

你可以看到,Phone类型的列是nvarchar(25) null列在默认情况下。如果您有很多表格,或者您希望有一种方法一次更改所有Phone列,则可以将其用于简写。这是一种实践 - 除非在某些特殊情况下,否则不是一种“最佳”做法。