OBJECTPROPERTY用法.docx

上传人:b****7 文档编号:10566593 上传时间:2023-02-21 格式:DOCX 页数:13 大小:17.91KB
下载 相关 举报
OBJECTPROPERTY用法.docx_第1页
第1页 / 共13页
OBJECTPROPERTY用法.docx_第2页
第2页 / 共13页
OBJECTPROPERTY用法.docx_第3页
第3页 / 共13页
OBJECTPROPERTY用法.docx_第4页
第4页 / 共13页
OBJECTPROPERTY用法.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

OBJECTPROPERTY用法.docx

《OBJECTPROPERTY用法.docx》由会员分享,可在线阅读,更多相关《OBJECTPROPERTY用法.docx(13页珍藏版)》请在冰豆网上搜索。

OBJECTPROPERTY用法.docx

OBJECTPROPERTY用法

OBJECTPROPERTY

返回当前数据库中对象的有关信息。

语法

OBJECTPROPERTY(id,property)

参数

id

一个表达式,包含当前数据库中某个对象的ID。

id的数据类型是int。

Property

一个表达式,包含针对由id指定的对象将要返回的信息。

Property可以是下面这些值中的一个。

说明  除非加以注释,否则,如果property是无效的属性名,则返回NULL。

属性名称

对象类型

描述和返回的值

CnstIsClustKey

约束

带有聚集索引的主键。

1=True

0=False

CnstIsColumn

约束

COLUMN约束。

1=True

0=False

CnstIsDeleteCascade

约束

带有ONDELETECASCADE选项的外键约束。

CnstIsDisabled

约束

禁用的约束。

1=True

0=False

CnstIsNonclustKey

约束

带有非聚集索引的主键。

1=True

0=False

CnstIsNotTrusted

约束

启用约束时未检查现有行,所以可能不是所有行都受约束的控制。

1=True

0=False

CnstIsNotRepl

约束

使用NOTFORREPLICATION关键字定义约束。

CnstIsUpdateCascade

约束

带有ONUPDATECASCADE选项的外键约束。

ExecIsAfterTrigger

触发器

AFTER触发器。

ExecIsAnsiNullsOn

过程、触发器、视图

创建时的ANSI_NULLS设置。

1=True

0=False

ExecIsDeleteTrigger

触发器

DELETE触发器。

1=True

0=False

ExecIsFirstDeleteTrigger

触发器

对表执行DELETE时触发的第一个触发器。

ExecIsFirstInsertTrigger

触发器

对表执行INSERT时触发的第一个触发器。

ExecIsFirstUpdateTrigger

触发器

对表执行UPDATE时触发的第一个触发器。

ExecIsInsertTrigger

触发器

INSERT触发器。

1=True

0=False

ExecIsInsteadOfTrigger

触发器

INSTEADOF触发器。

ExecIsLastDeleteTrigger

触发器

对表执行DELETE时触发的最后一个触发器。

ExecIsLastInsertTrigger

触发器

对表执行INSERT时触发的最后一个触发器。

ExecIsLastUpdateTrigger

触发器

对表执行UPDATE时触发的最后一个触发器。

ExecIsQuotedIdentOn

过程、触发器、视图

创建时的QUOTED_IDENTIFIER设置。

1=True

0=False

ExecIsStartup

过程

启动过程。

1=True

0=False

ExecIsTriggerDisabled

触发器

禁用的触发器。

1=True

0=False

ExecIsUpdateTrigger

触发器

UPDATE触发器。

1=True

0=False

HasAfterTrigger

表,视图

表或视图具有AFTER触发器。

1=True

0=False

HasInsertTrigger

表,视图

表或视图具有INSERT触发器。

1=True

0=False

HasInsteadOfTrigger

表、视图

表或视图具有INSTEADOF触发器。

1=True

0=False

HasUpdateTrigger

表、视图

表或视图具有UPDATE触发器。

1=True

0=False

IsAnsiNullsOn

函数、过程、表、触发器、视图

指定表的ANSINULLS选项设置为ON,表示所有与空值的比较都取值为UNKNOWN。

只要表存在,该设置就应用于表定义中的所有表达式,包括计算列和约束。

1=ON

0=OFF

IsCheckCnst

任何

CHECK约束。

1=True

0=False

IsConstraint

任何

约束。

1=True

0=False

IsDefault

任何

绑定的默认值。

1=True

0=False

IsDefaultCnst

任何

DEFAULT约束。

1=True

0=False

IsDeterministic

函数、视图

函数的确定性属性。

只适用于标量值及表值函数。

1=可确定的

0=不可确定的

NULL=不是标量值或表值函数,或者是无效的对象ID。

IsExecuted

任何

指定执行该对象的方式(视图、过程或触发器)。

1=True

0=False

IsExtendedProc

任何

扩展过程。

1=True

0=False

IsForeignKey

任何

FOREIGNKEY约束。

1=True

0=False

IsIndexed

表、视图

带有索引的表或视图。

IsIndexable

表、视图

可以创建索引的表或视图。

IsInlineFunction

函数

内嵌函数。

1=内嵌函数

0=非内嵌函数

NULL=不是函数,或者是无效的对象ID。

IsMSShipped

任何

在安装Microsoft®SQLServer™2000的过程中创建的对象。

1=True

0=False

IsPrimaryKey

任何

PRIMARYKEY约束。

1=True

0=False

IsProcedure

任何

过程。

1=True

0=False

IsQuotedIdentOn

函数、过程、表、触发器、视图

指定表的被引用标识符设置为ON,表示在表定义所涉及的所有表达式中,双引号标记分隔标识符。

1=ON

0=OFF

IsReplProc

任何

复制过程。

1=True

0=False

IsRule

任何

绑定的规则。

1=True

0=False

IsScalarFunction

函数

标量值函数。

1=标量值

0=表值

NULL=不是函数,或者是无效的对象ID。

IsSchemaBound

函数,视图

使用SCHEMABINDING创建的架构绑定函数或视图。

1=架构绑定

0=非架构绑定

NULL=不是函数或视图,或者是无效的对象ID。

IsSystemTable

系统表。

1=True

0=False

IsTable

表。

1=True

0=False

IsTableFunction

函数

表值函数。

1=表值

0=标量值

NULL=不是函数,或者是无效的对象ID。

IsTrigger

任何

触发器。

1=True

0=False

IsUniqueCnst

任何

UNIQUE约束。

1=True

0=False

IsUserTable

用户定义的表。

1=True

0=False

IsView

视图

视图。

1=True

0=False

OwnerId

任何

对象的所有者。

Nonnull=对象所有者的数据库用户ID。

NULL=无效的输入。

TableDeleteTrigger

表有DELETE触发器。

>1=给定类型的第一个触发器的ID。

TableDeleteTriggerCount

表具有指定数目的DELETE触发器。

>1=给定类型的第一个触发器的ID。

NULL=无效的输入。

TableFullTextBackgroundUpdateIndexOn

表已启用全文后台更新索引。

1=True

0=False

TableFulltextCatalogId

表的全文索引数据所驻留的全文目录的ID。

Nonzero=全文目录ID,它与标识全文索引表中行的唯一索引相关。

0=表不是全文索引的。

TableFullTextChangeTrackingOn

表已启用全文更改跟踪。

1=True

0=False

TableFulltextKeyColumn

与某个单列唯一索引相关联的列ID,这个单列唯一索引参与全文索引定义。

0=表不是全文索引的。

TableFullTextPopulateStatus

0=不填充

1=完全填充

2=增量填充

TableHasActiveFulltextIndex

表具有一个活动的全文索引。

1=True

0=False

TableHasCheckCnst

表具有CHECK约束。

1=True

0=False

TableHasClustIndex

表具有聚集索引。

1=True

0=False

TableHasDefaultCnst

表具有DEFAULT约束。

1=True

0=False

TableHasDeleteTrigger

表具有DELETE触发器。

1=True

0=False

TableHasForeignKey

表具有FOREIGNKEY约束。

1=True

0=False

TableHasForeignRef

表由FOREIGNKEY约束引用。

1=True

0=False

TableHasIdentity

表具有标识列。

1=True

0=False

TableHasIndex

表具有一个任何类型的索引。

1=True

0=False

TableHasInsertTrigger

对象具有Insert触发器。

1=True

0=False

NULL=无效的输入。

TableHasNonclustIndex

表具有非聚集索引。

1=True

0=False

TableHasPrimaryKey

表具有主键。

1=True

0=False

TableHasRowGuidCol

对于uniqueidentifier列,表具有ROWGUIDCOL。

1=True

0=False

TableHasTextImage

表具有text列。

1=True

0=False

TableHasTimestamp

表具有timestamp列。

1=True

0=False

TableHasUniqueCnst

表具有UNIQUE约束。

1=True

0=False

TableHasUpdateTrigger

对象具有Update触发器。

1=True

0=False

TableInsertTrigger

表具有INSERT触发器。

>1=给定类型的第一个触发器的ID。

TableInsertTriggerCount

表具有指定数目的INSERT触发器。

>1=给定类型的第一个触发器的ID。

TableIsFake

表不是真实的。

根据需要SQLServer对其进行内部具体化。

1=True

0=False

TableIsPinned

驻留表以将其保留在数据高速缓存中。

1=True

0=False

TableTextInRowLimit

textinrow所允许的最大字节数,如果没有设置textinrow选项则为0。

TableUpdateTrigger

表具有UPDATE触发器。

>1=给定类型的第一个触发器的ID。

TableUpdateTriggerCount

表具有指定数目的UPDATE触发器。

>1=给定类型的第一个触发器的ID。

返回类型

int

注释

OBJECTPROPERTY(view_id,'IsIndexable')可能会耗费大量的计算机资源,这是因为对IsIndexable属性的评估需要分析视图定义、进行规范化以及部分优化。

当至少添加了表的一列以用于索引时,OBJECTPROPERTY(table_id,'TableHasActiveFulltextIndex')将返回"1"(True)。

只要添加了用于索引的第一列后,全文索引即可用于填充。

当除去索引中的最后一列时,索引变成非活动。

如果某些索引键需求条件得不到满足,那么实际创建索引仍然可能会失败。

详细信息请参见CREATEINDEX。

示例

A.查明authors是否为一个表

下面的示例测试authors是否为一个表。

IFOBJECTPROPERTY(object_id('authors'),'ISTABLE')=1

print'Authorsisatable'

ELSEIFOBJECTPROPERTY(object_id('authors'),'ISTABLE')=0

print'Authorsisnotatable'

ELSEIFOBJECTPROPERTY(object_id('authors'),'ISTABLE')ISNULL

print'ERROR:

Authorsisnotanobject'

B.确定是否在表上启用了textinrow

下面的示例测试是否在authors表上启用了textinrow选项,以便text、ntext或image数据可以存储在它的数据行内。

USEpubs

SELECTOBJECTPROPERTY(OBJECT_ID('authors'),'TableTextInRowLimit')

结果集显示在表上没有启用textinrow。

-----

0

C.确定用户定义的标量值函数是否具有确定性

下面的示例测试用户定义的标量值函数fn_CubicVolume是否具有确定性,该函数返回小数。

CREATEFUNCTIONfn_CubicVolume

--Inputdimensionsincentimeters.

(@CubeLengthdecimal(4,1),@CubeWidthdecimal(4,1),

@CubeHeightdecimal(4,1))

RETURNSdecimal(12,3)--CubicCentimeters.

WITHSCHEMABINDING

AS

BEGIN

RETURN(@CubeLength*@CubeWidth*@CubeHeight)

END

--Isitadeterministicfunction?

SELECTOBJECTPROPERTY(OBJECT_ID('fn_CubicVolume'),'IsDeterministic')

结果集显示fn_CubicVolume是确定性函数。

-----

1

请参见

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 家庭教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1