【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中有时候也会遇到字符串进行分隔的需求.平时工作中常常遇到这样的需求,例如:人员数据表和人员爱好数据表,一条人员记录可以多多人员爱好记录,而往往人员和人员爱好在界面展示层要一并提交 ...
随机推荐
- JVM宏观认知&&内存结构
JVM宏观认知 1.什么是虚拟机? 虚拟机是一种软件. 可分为系统虚拟机(仿真物理机)和程序虚拟机(执行单个计算机程序,比如JVM). 2.什么是Java虚拟机(JVM)? JVM是一种将字节码转化为 ...
- UVA1486 Transportation 费用流 拆边。
#include <iostream> #include <cstdio> #include <cmath> #include <queue> #inc ...
- 模板汇总——LCT
link-cut tree #define lch(x) tr[x].son[0] #define rch(x) tr[x].son[1] ; struct Node{ int rev, rt; ], ...
- Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式
我最早是 2016 年底开始写 Spring Boot 相关的博客,当时使用的版本还是 1.4.x ,文章发表在 CSDN 上,阅读量最大的一篇有 43W+,如下图: 2017 年由于种种原因,就没有 ...
- Postgresql-rman
联机程序. 并且目标数据库必须处于归档模式. 支持在线全备, 增量备份, 归档备份 增量备份基于已经存在的一个全库备份 rman 本身使用pg_start_backup(), copy, pg_sto ...
- 【DataBase】事务
一.事务概述 二.事务的四大特性(ACID) 三.事务的隔离性导致的问题 四.数据库的四个隔离级别 五.数据库中的锁机制: 六.更新丢失 七.并发事务所带来的的问题 一.事务概述 事务的概念:事务是指 ...
- 【Offer】[5] 【替换空格】
题目描述 思路分析 Java代码 代码链接 题目描述 请实现一个函数,把字符串中的每个空格替换成"%20". 例如输入"We are happy.",则输出&q ...
- Java网络编程 -- Netty入门
Netty简介 Netty是一个高性能,高可扩展性的异步事件驱动的网络应用程序框架,它极大的简化了TCP和UDP客户端和服务器端网络开发.它是一个NIO框架,对Java NIO进行了良好的封装.作为一 ...
- Http和Https相关问题
Http和Https Http(默认端口号80) 超文本传输协议(Http,HyperText Transfer Protocol)是互联网上使用最为广泛的一种网络协议(应用层).设计Http最初的目 ...
- MySQL中boolean类型设置
在用MySQL设置boolean的时候发现跟本就没有这种类型,后来查资料才知道: boolean类型用tinyint表示, MYSQL保存BOOLEAN值时用1代表TRUE,0代表FALSE,bool ...