AdventureWorks数据库中的数据类型

时间:2012-01-06 02:52:14

标签: sql-server-2008 sqldatatypes nvarchar adventureworks

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

在电话号码列中,他们为列提供了类型 电话:为nvarchar(25)

  1. 为什么他们将类型添加为电话:nvarchar(25)?
  2. 电话有什么区别:nvarchar(25)和nvarchar(25)?
  3. 我试图手动输入电话栏的类型 电话:nvarchar(25)但它给了我一个错误。为什么它会给我一个错误?
  4. 如何制作Phone:nvarchar(25)?

    类型的电话栏

1 个答案:

答案 0 :(得分: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列,则可以将其用作速记。这是一种做法 - 除非在某些特殊情况下,否则不是真正的“最佳”做法。