利用T-SQL元数据函数检查属性设置(下)

日期: 2010-10-13 作者:Robert Sheldon翻译:冯昀晖 来源:TechTarget中国 英文

接上文:利用T-SQL元数据函数检查属性设置(上)   如果你想查看有关索引的属性,你可以利用“INDEXPROPERTY ”函数。该函数有三个参数:索引定义于其上的对象ID,索引名称和属性名称。例如,下面的SELECT语句获取关于“PK_SalesPerson_BusinessEntityID”索引的信息,该索引定义在“SalesPerson ”表上:   SELECT   INDEXPROPERTY(1298103665,   ’PK_SalesPerson_BusinessEntityID’,   ’IsClustered’) A……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

接上文:利用T-SQL元数据函数检查属性设置(上)

  如果你想查看有关索引的属性,你可以利用“INDEXPROPERTY ”函数。该函数有三个参数:索引定义于其上的对象ID,索引名称和属性名称。例如,下面的SELECT语句获取关于“PK_SalesPerson_BusinessEntityID”索引的信息,该索引定义在“SalesPerson ”表上:

  SELECT
  INDEXPROPERTY(1298103665,
  'PK_SalesPerson_BusinessEntityID',
  'IsClustered') AS ClusteredInd,
  INDEXPROPERTY(1298103665,
  'PK_SalesPerson_BusinessEntityID',
  'IsFullTextKey') AS FullTextKey,
  INDEXPROPERTY(1298103665,
  'PK_SalesPerson_BusinessEntityID',
  'IsUnique') AS UniqueInd;

  对于“INDEXPROPERTY ”函数的每个例子,我为“SalesPerson ”表提供了对象ID,还有该索引的名称。最后,我指定了属性。“IsClustered ”属性表示该索引是否是簇索引,“IsFullTextKey ”属性表示该索引是否是该表的全文搜索键,“IsUnique ”属性告诉你该索引是否是唯一索引。

  如下表所示,“PK_SalesPerson_BusinessEntityID”索引是簇索引,唯一性索引,但是不是全文搜索键:

ClusteredInd  FullTextKey UniqueInd
1 0 1

  另一个有用的函数是“COLUMNPROPERTY”,返回有关指定列的属性设置。与“INDEXPROPERTY ”函数一样,“COLUMNPROPERTY ”函数也有三个参数:列定义于其上的对象ID,列名称和属性名称,如下面的示例所示:

  SELECT
  COLUMNPROPERTY(1298103665, 'SalesQuota',
  'AllowsNull') AS AllowsNull,
  COLUMNPROPERTY(1298103665, 'SalesQuota',
  'ColumnId') AS ColumnId,
  COLUMNPROPERTY(1298103665, 'SalesQuota',
  'IsComputed') AS Computed;

  在本例中,我获取了“SalesPerson ”表中“SalesQuota ”列的属性信息。“AllowsNull ”属性表示该列是否允许为空值,“ColumnID ”属性返回该列的赋值ID,“IsComputed ”属性展示该列是否是一个计算列。如下表所示,“SalesQuota ”列云系空值,该列的ID是3,它不是计算列:

AllowsNull ColumnId Computed
1 3 0

  我们要学习的另一个与属性有关的函数是“TYPEPROPERTY”,它返回有关指定数据类型的信息。该函数有两个参数:数据类型名称和属性名称。下面的例子返回有关“money”数据类型的信息:

  SELECT
  TYPEPROPERTY('money', 'AllowsNull')
  AS AllowsNull,
  TYPEPROPERTY('money', 'Precision')
  AS Precision,
  TYPEPROPERTY('money', 'Scale')
  AS Scale;

  在我指定了第一个参数(数据类型名称)之后,我又指定了属性。“AllowsNull ”属性表示该数据类型是否允许空值,“Precision ”属性表示数值的最大值或者该值允许的最大字符数,“Scale ”属性告诉你运行的小数点位数。在上面的SELECT语句中,三个属性返回结果如下:

AllowsNull Precision Scale 
1 19 4

  你可以看到,“money”数据类型允许空值,支持19个字符,4位小数。

相关推荐