【SQL server基础】objectproperty()函数
SQL Server OBJECTPROPERTY使用方法
OBJECTPROPERTY 返回有关当前数据库中的模式作用域对象的信息。此函数不能用于不是模式范围的对象,例如数据定义语言(DDL)触发器和事件通知。
OBJECTPROPERTY 语法:
1 OBJECTPROPERTY ( id , property )
参数:
id:表示当前数据库中对象ID的表达式。id是int,并且被假定为当前数据库上下文中的模式作用域对象。
property:是表示由id指定的对象返回的信息的表达式。属性可以是以下值之一。
注意:
除非另有说明,否则当属性不是有效的属性名称时返回NULL ,id不是有效的对象ID,
id是指定属性的不受支持的对象类型,或者调用者没有查看对象元数据的权限。
属性名称 | 对象类型 | 说明和返回的值 | ||
CnstIsClustKey | 约束 |
具有聚集索引的 PRIMARY KEY 约束。 1 = True 0 = False |
||
CnstIsColumn | 约束 |
单个列上的 CHECK、DEFAULT 或 FOREIGN KEY 约束。 1 = True 0 = False |
||
CnstIsDeleteCascade | 约束 |
具有 ON DELETE CASCADE 选项的 FOREIGN KEY 约束。 1 = True 0 = False |
||
CnstIsDisabled | 约束 |
禁用的约束。 1 = True 0 = False |
||
CnstIsNonclustKey | 约束 |
非聚集索引的 PRIMARY KEY 或 UNIQUE 约束。 1 = True 0 = False |
||
CnstIsNotRepl | 约束 |
使用 NOT FOR REPLICATION 关键字定义的约束。 1 = True 0 = False |
||
CnstIsNotTrusted | 约束 |
启用约束时未检查现有行,因此可能不是所有行都适用该约束。 1 = True 0 = False |
||
CnstIsUpdateCascade | 约束 |
具有 ON UPDATE CASCADE 选项的 FOREIGN KEY 约束。 1 = True 0 = False |
||
ExecIsAfterTrigger | 触发器 |
AFTER 触发器。 1 = True 0 = False |
||
ExecIsAnsiNullsOn | Transact-SQL 函数、Transact-SQL 过程、Transact-SQL 触发器、视图 |
创建时的 ANSI_NULLS 设置。 1 = True 0 = False |
||
ExecIsDeleteTrigger | 触发器 |
DELETE 触发器。 1 = True 0 = False |
||
ExecIsFirstDeleteTrigger | 触发器 |
对表执行 DELETE 时触发的第一个触发器。 1 = True 0 = False |
||
ExecIsFirstInsertTrigger | 触发器 |
对表执行 INSERT 时触发的第一个触发器。 1 = True 0 = False |
||
ExecIsFirstUpdateTrigger | 触发器 |
对表执行 UPDATE 时触发的第一个触发器。 1 = True 0 = False |
||
ExecIsInsertTrigger | 触发器 |
INSERT 触发器。 1 = True 0 = False |
||
ExecIsInsteadOfTrigger | 触发器 |
INSTEAD OF 触发器。 1 = True 0 = False |
||
ExecIsLastDeleteTrigger | 触发器 |
对表执行 DELETE 时激发的最后一个触发器。 1 = True 0 = False |
||
ExecIsLastInsertTrigger | 触发器 |
对表执行 INSERT 时激发的最后一个触发器。 1 = True 0 = False |
||
ExecIsLastUpdateTrigger | 触发器 |
对表执行 UPDATE 时激发的最后一个触发器。 1 = True 0 = False |
||
ExecIsQuotedIdentOn | Transact-SQL 函数、Transact-SQL 过程、Transact-SQL 触发器、视图 |
创建时的 QUOTED_IDENTIFIER 设置。 1 = True 0 = False |
||
ExecIsStartup | 过程 |
启动过程。 1 = True 0 = False |
||
ExecIsTriggerDisabled | 触发器 |
禁用的触发器。 1 = True 0 = False |
||
ExecIsTriggerNotForRepl | 触发器 |
定义为 NOT FOR REPLICATION 的触发器。 1 = True 0 = False |
||
ExecIsUpdateTrigger | 触发器 |
UPDATE 触发器。 1 = True 0 = False |
||
HasAfterTrigger | 表、视图 |
表或视图具有 AFTER 触发器。 1 = True 0 = False |
||
HasDeleteTrigger | 表、视图 |
表或视图具有 DELETE 触发器。 1 = True 0 = False |
||
HasInsertTrigger | 表、视图 |
表或视图具有 INSERT 触发器。 1 = True 0 = False |
||
HasInsteadOfTrigger | 表、视图 |
表或视图具有 INSTEAD OF 触发器。 1 = True 0 = False |
||
HasUpdateTrigger | 表、视图 |
表或视图具有 UPDATE 触发器。 1 = True 0 = False |
||
IsAnsiNullsOn | Transact-SQL 函数、Transact-SQL 过程、表、Transact-SQL 触发器、视图 |
指定表的 ANSI NULLS 选项设置为 ON。这表示所有对空值的比较都取值为 UNKNOWN。只要表存在,此设置将应用于表定义中的所有表达式,包括计算列和约束。 1 = True 0 = False |
||
IsCheckCnst | 架构范围内的任何对象 |
CHECK 约束。 1 = True 0 = False |
||
IsConstraint | 架构范围内的任何对象 |
列或表的单列 CHECK、DEFAULT 或 FOREIGN KEY 约束。 1 = True 0 = False |
||
IsDefault | 架构范围内的任何对象 |
绑定的默认值。 1 = True 0 = False |
||
IsDefaultCnst | 架构范围内的任何对象 |
DEFAULT 约束。 1 = True 0 = False |
||
IsDeterministic | 函数、视图 |
函数或视图的确定性属性。 1 = 确定 0 = 不确定 |
||
IsEncrypted | Transact-SQL 函数、Transact-SQL 过程、表、Transact-SQL 触发器和视图 |
指示模块语句的原始文本已转换为模糊格式。模糊代码的输出在 SQL Server 2005 的任何目录视图中都不能直接显示。对系统表或数据库文件没有访问权限的用户不能检索模糊文本。但是,能够通过 DAC 端口访问系统表的用户或能够直接访问数据库文件的用户可以检索此文本。此外,能够向服务器进程附加调试器的用户可在运行时从内存中检索原始过程。 1 = 已加密 0 = 未加密 基本数据类型:int |
||
IsExecuted | 架构范围内的任何对象 |
可执行对象(视图、过程、函数或触发器)。 1 = True 0 = False |
||
IsExtendedProc | 架构范围内的任何对象 |
扩展过程。 1 = True 0 = False |
||
IsForeignKey | 架构范围内的任何对象 |
FOREIGN KEY 约束。 1 = True 0 = False |
||
IsIndexed | 表、视图 |
包含索引的表或视图。 1 = True 0 = False |
||
IsIndexable | 表、视图 |
可以创建索引的表或视图。 1 = True 0 = False |
||
IsInlineFunction | 函数 |
内联函数。 1 = 内联函数 0 = 非内联函数 |
||
IsMSShipped | 架构范围内的任何对象 |
安装 SQL Server 过程中创建的对象。 1 = True 0 = False |
||
IsPrimaryKey | 架构范围内的任何对象 |
PRIMARY KEY 约束。 1 = True 0 = False NULL = 非函数,或对象 ID 无效。 |
||
IsProcedure | 架构范围内的任何对象 |
过程。 1 = True 0 = False |
||
IsQuotedIdentOn | Transact-SQL 函数、Transact-SQL 过程、表、Transact-SQL 触发器、视图、CHECK 约束、DEFAULT 定义 |
指定对象的引号标识符设置为 ON。这表示用英文双引号分隔对象定义中涉及的所有表达式中的标识符。 1 = ON 0 = OFF |
||
IsQueue | 架构范围内的任何对象 |
Service Broker 队列 1 = True 0 = False |
||
IsReplProc | 架构范围内的任何对象 |
复制过程。 1 = True 0 = False |
||
IsRule | 架构范围内的任何对象 |
绑定规则。 1 = True 0 = False |
||
IsScalarFunction | 函数 |
标量值函数。 1 = 标量值函数 0 = 非标量值函数 |
||
IsSchemaBound | 函数、视图 |
使用 SCHEMABINDING 创建的绑定到架构的函数或视图。 1 = 绑定到架构 0 = 不绑定架构。 |
||
IsSystemTable | 表 |
系统表。 1 = True 0 = False |
||
IsTable | 表 |
表。 1 = True 0 = False |
||
IsTableFunction | 函数 |
表值函数。 1 = 表值函数 0 = 非表值函数 |
||
IsTrigger | 架构范围内的任何对象 |
触发器。 1 = True 0 = False |
||
IsUniqueCnst | 架构范围内的任何对象 |
UNIQUE 约束。 1 = True 0 = False |
||
IsUserTable | 表 |
用户定义的表。 1 = True 0 = False |
||
IsView | 视图 |
视图。 1 = True 0 = False |
||
OwnerId | 架构范围内的任何对象 |
对象的所有者。
|
||
TableDeleteTrigger | 表 |
表具有 DELETE 触发器。 >1 = 指定类型的第一个触发器的 ID。 |
||
TableDeleteTriggerCount | 表 |
表具有指定数目的 DELETE 触发器。 >0 = DELETE 触发器数目。 |
||
TableFullTextMergeStatus | 表 |
表所具有的全文索引当前是否正在合并。 0 = 表没有全文索引,或者全文索引未在合并。 1 = 全文索引正在合并。 |
||
TableFullTextBackgroundUpdateIndexOn | 表 |
表已启用全文后台更新索引(自动更改跟踪)。 1 = TRUE 0 = FALSE |
||
TableFulltextCatalogId | 表 |
表的全文索引数据所在的全文目录的 ID。 非零 = 全文目录 ID,它与全文索引表中标识行的唯一索引相关。 0 = 表没有全文索引。 |
||
TableFulltextChangeTrackingOn | 表 |
适用于:SQL Server 2008通过SQL Server 2016. 表格启用了全文变更跟踪。 1 = TRUE 0 = FALSE |
||
TableFulltextDocsProcessed | 表 |
适用于:SQL Server 2008通过SQL Server 2016. 自全文索引开始以来处理的行数。在为全文搜索索引的表中,一行的所有列都被视为要编制索引的一个文档的一部分。 0 =没有主动抓取或全文索引完成。 > 0 =以下之一(A或B):A)自完成,增量或手动更改跟踪人口开始以来,通过插入或更新操作处理的文档数。B)启用了具有后台更新索引总体的更改跟踪后由插入或更新操作处理的行数,全文索引架构已更改,重新创建全文目录或重新启动SQL Server实例等。 NULL =表没有全文索引。 |
||
TableFulltextFailCount | 表 | 行数全文搜索没有索引。
0 =人口已经完成。 > 0 =以下(A或B)之一:A)自完全,增量和手动更新开始以来未编入索引的文档数量更改跟踪人口。B)对于具有后台更新索引的变更跟踪,自开始人口以来未编入索引的行数,或者重新启动人口。这可能是由于模式更改,目录重建,服务器重新启动等引起的。 NULL =表没有全文索引。 |
||
TableFulltextItemCount | 表 | 成功全文索引的行数 | ||
TableFulltextKeyColumn | 表 | 与参与全文索引定义的单列唯一索引相关联的列的ID。
0 =表没有全文索引。 |
||
TableFulltextPendingChanges | 表 |
要处理的挂起更改跟踪项的数目。 0 = 未启用更改跟踪。 NULL = 表没有全文索引。 |
||
TableFulltextPopulateStatus | 表 |
0 = 空闲。 1 = 正在进行完全填充。 2 = 正在进行增量填充。 3 = 正在传播所跟踪的更改。 4 = 正在进行后台更新索引(例如,自动跟踪更改)。 5 = 全文索引已中止或暂停。 |
||
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 | 表 |
表具有 FOREIGN KEY 约束。 1 = True 0 = False |
||
TableHasForeignRef | 表 |
表由 FOREIGN KEY 约束引用。 1 = True 0 = False |
||
TableHasIdentity | 表 |
表具有标识列。 1 = True 0 = False |
||
TableHasIndex | 表 |
表具有任意类型的索引。 1 = True 0 = False |
||
TableHasInsertTrigger | 表 |
对象具有 INSERT 触发器。 1 = True 0 = False |
||
TableHasNonclustIndex | 表 |
表有非聚集索引。 1 = True 0 = False |
||
TableHasPrimaryKey | 表 |
表具有主键。 1 = True 0 = False |
||
TableHasRowGuidCol | 表 |
表具有用于唯一标识列的ROWGUIDCOL。 1 = True 0 = False |
||
TableHasTextImage | 表 |
表具有 text、ntext 或 image 列。 1 = True 0 = False |
||
TableHasTimestamp | 表 |
表具有一个时间戳列。 1 = True 0 = False |
||
TableHasUniqueCnst | 表 |
表具有 UNIQUE 约束。 1 = True 0 = False |
||
TableHasUpdateTrigger | 表 |
对象有 UPDATE 触发器。 1 = True 0 = False |
||
TableHasVarDecimalStorageFormat | 表 | 表启用了vardecimal存储格式。
1 = True 0 = False |
||
TableInsertTrigger | 表 |
表具有 INSERT 触发器。 >1 = 指定类型的第一个触发器的 ID。 |
||
TableInsertTriggerCount | 表 |
表有指定数目的 INSERT 触发器。 >0 = INSERT 触发器的个数。 |
||
TableIsFake | 表 |
表不是真实的表。它将由 SQL Server 数据库引擎根据需要在内部进行具体化。 1 = True 0 = False |
||
TableIsLockedOnBulkLoad | 表 | 由于bcp或BULK INSERT作业,表被锁定。
1 = True 0 = False |
||
TableIsPinned | 表 | 表被固定在数据缓存中。
0 = False |
||
TableIsMemoryOptimized | 表 | 表是内存优化
1 = True 0 = False 基本数据类型:int |
||
TableTextInRowLimit | 表 | 行中的文本允许的最大字节数。
如果没有设置行中的文本选项,则为0。 |
||
TableUpdateTrigger | 表 | 表有一个UPDATE触发器。
> 1 =具有指定类型的第一个触发器的ID。 |
||
TableUpdateTriggerCount | 表 |
该表具有指定数量的UPDATE触发器。 > 0 = UPDATE触发器的数量。 |
||
TableHasColumnSet | 表 |
表具有列集。 0 = False 1 = True |
||
TableTemporalType | 表 | 指定表的类型。
0 =非时间表 1 =系统版本表 2的历史表2 =系统版本化的时间表 |
-- 验证 dbo.Department 是否是一个表
IF (OBJECTPROPERTY (OBJECT_ID(N'dbo.Department'),'ISTABLE') = )
begin
select 'Department 是一个表'
end
ELSE IF (OBJECTPROPERTY (OBJECT_ID(N'dbo.Department'),'ISTABLE') = )
begin
select 'Department 不是一个表'
end
ELSE IF (OBJECTPROPERTY (OBJECT_ID(N'dbo.Department'),'ISTABLE') IS NULL)
begin
select 'Department 不是一个有效的对象'
end
GO
-- 验证表 Department 是否 是用户自定义的表
IF (OBJECTPROPERTY (OBJECT_ID(N'dbo.Department'),'IsUserTable') = )
begin
SELECT 'Department 是用户自定义的表'
end
ELSE
begin
SELECT 'Department 不是用户自定义的表';
end
GO
【SQL server基础】objectproperty()函数的更多相关文章
- SQL Server 基础 04 函数与分组查询数据
函数与分组查询数据 系统函数分 聚合函数.数据类型转换函数.日期函数.数学函数 . . . 1. 聚合函数 主要是对一组值进行计算,然后返回一个值. 聚合函数包括 sum(求和).avg(求平均值). ...
- sql server中常用方法函数
SQL SERVER常用函数 1.DATEADD在向指定日期加上一段时间的基础上,返回新的 datetime 值. (1)语法: DATEADD ( datepart , number, date ) ...
- 数据库开发基础-SQl Server 基础
SQL Server 基础 1.什么是SQL Server SQL:Structured Query Language 结构化查询语言 SQL Server是一个以客户/服务器(c/s)模式访问.使 ...
- 【SQL Server】SQL Server基础之存储过程
SQL Server基础之存储过程 阅读目录 一:存储过程概述 二:存储过程分类 三:创建存储过程 1.创建无参存储过程 2.修改存储过程 3.删除存储过程 4.重命名存储过程 5.创建带参数的存储 ...
- SQL Server UDF用户自定义函数
UDF的定义 和存储过程很相似,用户自定义函数也是一组有序的T-SQL语句,UDF被预先优化和编译并且尅作为一个单元爱进行调用.UDF和存储过程的主要区别在于返回结果的方式. 使用UDF时可传入参数, ...
- Sql Server 基础语法
来自:http://www.cnblogs.com/AaronYang/archive/2012/04/24/2468093.html Sql Server 基础语法 -- 查看数据表 select ...
- SQL Server 内置函数、临时对象、流程控制
SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ...
- SQL Server:字符串函数
以下所有例子均Studnet表为例: 1. len():计算字符串长度 len()用来计算字符串的长度,每个中文汉字或英文字母都为一个长度 select sname, len(sname) from ...
- SQL server基础知识(表操作、数据约束、多表链接查询)
SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...
- SQL Server 分隔字符串函数实现
在SQL Server中有时候也会遇到字符串进行分隔的需求.平时工作中常常遇到这样的需求,例如:人员数据表和人员爱好数据表,一条人员记录可以多多人员爱好记录,而往往人员和人员爱好在界面展示层要一并提交 ...
随机推荐
- 谈谈我对SOFA模块化的理解
今天我们谈谈SOFA模块化,首先看一段SOFA的介绍: SOFABoot是蚂蚁金服开源的基于Spring Boot的研发框架,它在Spring Boot的基础上,提供了诸如 Readiness Che ...
- C#开发BIMFACE系列11 服务端API之源文件删除
系列目录 [已更新最新开发文章,点击查看详细] 通过BIMFACE控制台或者调用服务接口上传文件成功后,如果不再需要该文件,则可以通过BIMFACE平台提供的“源文件删除”服务接口删除具体的文 ...
- springboot-vue前后端分离session过期重新登录
springboot-vue前后端分离session过期重新登录 简单回顾cookie和session cookie和session都是回话管理的方式 Cookie cookie是浏览器端存储信息的一 ...
- 你真的了解Mybatis的${}和#{}吗?是否了解应用场景?
转自:https://www.cnblogs.com/mytzq/p/9321526.html 动态sql是mybatis的主要特性之一.在mapper中定义的参数传到xml中之后,在查询之前myba ...
- unicode的编码与解码
- [python]变量和赋值
1. python的变量名以字母开头,包含字母.数字.下划线. 2. python是动态类型语言,即不需要预先声明变量的类型.变量的类型和值在赋值的时候被初始化. 变量赋值通过等号来执行. 代码: c ...
- Codeforces Round #504 E - Down or Right 交互题
1023E 题意: 交互题.在一个有障碍地图中,问如何走才能从(1,1)走到(n,n),只能向右或者向左走.每次询问两个点,回复你这两个点能不能走通. 思路: 只用最多2*n-2次询问.从(1,1), ...
- CodeForces gym Nasta Rabbara lct
Nasta Rabbara 题意:简单来说就是, 现在有 n个点, m条边, 每次询问一个区间[ l , r ], 将这个区间的所有边都连上, 如果现在的图中有奇数环, 就输出 “Impossibl ...
- 牛客小白月赛6 B 范围 数学
链接:https://www.nowcoder.com/acm/contest/135/B来源:牛客网 题目描述 已知与均为实数,且满足: 给定A,B,求x的取值范围? 由于Apojacsleam的计 ...
- 杭电多校第九场 hdu6425 Rikka with Badminton 组合数学 思维
Rikka with Badminton Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/O ...