【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中有时候也会遇到字符串进行分隔的需求.平时工作中常常遇到这样的需求,例如:人员数据表和人员爱好数据表,一条人员记录可以多多人员爱好记录,而往往人员和人员爱好在界面展示层要一并提交 ...
随机推荐
- Mysql根据出生日期计算年龄五种方法比较
方法一 SELECT DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(birthday)), '%Y')+0 AS age 方法一缺陷,就是当日期为未来日期时 ...
- Redis数据类型的基本操作
Redis数据类型的基本操作 一.string类型 1.设置value
- AVL自平衡二叉树
详细的具体步骤 : 一篇讲的很好博客 AVL,红黑树优先博客-Never 先对二叉树的不平衡结构进行总结: 各种旋转 特别注意字母含义(结构)和其旋转操作之间的区别 二叉树不平衡结构 性质 平衡操作 ...
- codeforces 284 E. Coin Troubles(背包+思维)
题目链接:http://codeforces.com/contest/284/problem/E 题意:n种类型的硬币,硬币的面值可能相同,现在要在满足一些限制条件下求出,用这些硬币构成t面值的方案数 ...
- Mysql相关:navicat for mysql 加注释
在 navicat 中有三种注释的书写方式: 以 # 开头的字符串,可以多个 # 连续以 – 开头的字符串,注意:只能是 – ,而且 – 后面需要加一个半角空格以 /* */ 包围的字符串,类似于 J ...
- ubantu下配置共享文件
原文转自 http://blog.chinaunix.net/uid-25305993-id-3754109.html 一 samba的安装: sudo apt-get install samba ...
- 给 Flutter 界面切换来点特效
本文微信公众号「AndroidTraveler」首发. 背景 我们知道页面之间如果直接切换,会比较生硬,还会让用户觉得很突兀,用户体验不是很好. 因此一般情况下,页面之间的切换为了达到平滑过渡,都会添 ...
- 让docker中的mysql启动时自动执行sql
在用docker创建mysql容器的时,有时候我们期望容器启动后数据库和表已经自动建好,初始化数据也已自动录入,也就是说容器启动后我们就能直接连上容器中的数据库,使用其中的数据了. 其实mysql的官 ...
- RobotFramework自动化测试框架-MongoDBLibrary库的使用
笔者接着 RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作) 继续分享robotframework 对数据库中的MongoDB的详细操作. Mongo ...
- 一道算法问题:一幢 200 层的大楼,给你两个鸡蛋. 如果在第 n 层扔下鸡蛋,鸡蛋不碎,那么从前 n-1 层扔鸡蛋都不碎. 这两只鸡蛋一模一样,不碎的话可以扔无数次. 已知鸡蛋在0层扔不会碎. 提出一个策略, 要保证能测出鸡蛋恰好会碎的楼层, 并使此策略在最坏情况下所扔次数最少.
今晚要参加网易的笔试,所以一直在刷题,刷到这个题的时候觉得自己的思路很模糊,就去网上百度了一下,找到一个大神给的解决方案: 如下: (http://ppwwyyxx.com/2013/Problem- ...