【SQL基础】T-SQL函数类型——元数据函数

     一般来说,元数据函数返回的是有关指定数据库和数据对象的信息。下面介绍几种元数据函数。

    1、COL_NAME(tab_id,col_id),返回表tab_id的tab_id的列名。

    例:selectCOL_NAME(OBJECT_ID('employees'),3); 结果为’FirstName’

    2、COLUMNPROPERTY(id,col,property),返回指定列的信息。property属于以下值:

说明

AllowsNull

允许空值。1 = TRUE,0 = FALSE,NULL = 输入无效。

ColumnId

对应于 sys.columns.column_id 的列 ID 值。

FullTextTypeColumn

表中的 TYPE COLUMN,其中包含 column 的文档类型信息。

IsComputed

列是计算列。1 = TRUE,0 = FALSE,NULL = 输入无效。

IsCursorType

过程参数类型为 CURSOR。1 = TRUE,0 = FALSE,NULL = 输入无效。

IsDeterministic

列是确定性列。此属性只适用于计算列和视图列。1 = TRUE,0 = FALSE,NULL = 输入无效。非计算列或视图列。

IsFulltextIndexed

列已经注册为全文索引。1 = TRUE,0 = FALSE,NULL = 输入无效。

IsIdentity

列使用 IDENTITY 属性。1 = TRUE,0 = FALSE, NULL = 输入无效。

IsIdNotForRepl

列检查 IDENTITY_INSERT 设置。如果指定了 IDENTITY NOT FOR REPLICATION,则不检查 IDENTITY_INSERT 设置。1 = TRUE,0 = FALSE, NULL = 输入无效。

IsIndexable

可以对列进行索引。1 = TRUE,0 = FALSE, NULL = 输入无效。

IsOutParam

过程参数是输出参数。1 = TRUE,0 = FALSE, NULL = 输入无效。

IsPrecise

列是精确列。此属性只适用于确定性列。1 = TRUE,0 = FALSE, NULL = 输入无效。

IsRowGuidCol

列具有 uniqueidentifier 数据类型,并且定义了 ROWGUIDCOL 属性。1 = TRUE,0 = FALSE, NULL = 输入无效。

IsSystemVerified

列的确定性和精度属性可以使用 数据库引擎 验证。此属性只应用于计算列和视图中的列。1 = TRUE,0 = FALSE, NULL = 输入无效。

IsXmlIndexable

可以在 XML 索引中使用 XML 列。1 = TRUE,0 = FALSE, NULL = 输入无效。

Precision

列或参数的数据类型的长度。指定的列数据类型的长度,-1 = xml 或大值类型,NULL = 输入无效。

Scale

列或参数的数据类型的小数位数。

SystemDataAccess

列是由访问 SQL Server 的系统目录或虚拟系统表中数据的函数派生的。此属性只应用于计算列和视图中的列。1 = TRUE,0 = FALSE, NULL = 输入无效。

UserDataAccess

列是由访问储存于 SQL Server 本地实例的用户表中数据的函数派生的。此属性只应用于计算列和视图中的列。1 = TRUE,0 = FALSE, NULL = 输入无效。

UsesAnsiTrim

第一次创建表时,ANSI_PADDING 设置为 ON。此属性仅应用于列或者 charvarchar 类型的参数。1 = TRUE,0 = FALSE, NULL = 输入无效。

IsSparse

列为稀疏列。1 = TRUE,0 = FALSE, NULL = 输入无效。

IsColumnSet

列为列集。1 = TRUE,0 = FALSE, NULL = 输入无效。

    3、DATABASEPROPERYTY(database,property),返回指定的数据库的指定数据库属性值。

    4、DB_ID([db_name]),返回数据库的db_name的标识符,即返回当前数据库的标识符。

    例:   selectDB_ID('Master'),结果为1

    5、DB_NAME([db_id]),返回带有标识符db_id的数据库名,如果没有指定标识符,就显示当前数据名称。

    例:selectDB_NAME(1),结果为’master’

    6、INDEX_COL(table,i,no),返回表table中的索引列,该索引列有索引标识符i及该列在索引中的位置no指定。

    7、INDEXPROPERY(obj_id,index_name,property),返回指定表标识号、索引或统计名称及属性名称的指定索引值或统计属性值。

    8、OBJECT_NAME(obj_id),返回有标识符obj_id的数据库对象名称。

    例:selectOBJECT_NAME(245575913),结果为‘Products’

    9、OBJECT_ID(obj_name),返回数据库对象obj_name对应的标识符。

    例:selectOBJECT_ID('products'); 结果为245575913

    9、OBJECTPROPERTY(obj_id,property),返回当前数据对象。property为以下值:

属性名称

说明

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

创建时的 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

创建时的 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

指定表的 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 = True,0 = False

IsEncrypted

指示模块语句的原始文本已转换为模糊格式。模糊代码的输出在 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 = True,0 = False

IsMSShipped

安装 SQL Server 过程中创建的对象。1 = True,0 = False

IsPrimaryKey

PRIMARY KEY 约束。1 = True,0 = False ,NULL = 非函数,或对象 ID 无效。

IsProcedure

过程。1 = True,0 = False

IsQuotedIdentOn

指定对象的引号标识符设置为 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

表已启用全文更改跟踪。1 = True,0 = False

TableFulltextDocsProcessed

自开始全文索引以来所处理的行数。在为进行全文搜索而正在编制索引的表中,将一个行的所有列视为要编制索引的文档的一部分。0 = 没有完成的活动爬网或全文索引。> 0 = 以下选项之一:

· 自从开始完整、增量或手动更改跟踪填充以来,由插入或更新操作处理的文档数。

· 自从执行以下操作以来由插入或更新操作处理的行数:启用具有后台更新索引填充功能的更改跟踪、更改全文索引架构、重建全文目录或重新启动 SQL Server 的实例等。

NULL = 表没有全文索引。

TableFulltextFailCount

全文搜索未编制索引的行数。

0 = 填充已完成。

> 0 = 以下选项之一:

· 自从开始完整、增量和手动更新更改跟踪填充以来未编制索引的文档数。

· 对于具有后台更新索引功能的更改跟踪,则为自从开始填充或重新启动填充以来未编制索引的行数。这可能由架构更改、目录重建、服务器重新启动等引起。

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

表的 uniqueidentifier 列具有 ROWGUIDCOL。

1 = True

0 = False

TableHasTextImage

表具有 textntextimage 列。

1 = True

0 = False

TableHasTimestamp

表具有 timestamp 列。

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

SQL Server 2005 及更高版本不支持此功能。

TableTextInRowLimit

text in row 允许的最大字节数。

如果未设置 text in row 选项,则返回 0。

TableUpdateTrigger

表具有 UPDATE 触发器。

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

TableUpdateTriggerCount

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

> 0 = UPDATE 触发器的个数。

TableHasColumnSet

表具有列集。

0 = False

1 = True

有关详细信息,请参阅使用列集。

转载于:https://www.cnblogs.com/zhaozhan/archive/2010/05/20/1740352.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/299288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么我们总是忍不住要刷微信?

全世界只有3.14 % 的人关注了爆炸吧知识真正决定人与人之间的差距的,其实是我们对事物的见识与内心的格局,见识的深浅决定人生的深浅,格局的大小决定了人生之路是宽是窄。今天给大家推荐几个有深度、有想法的公众号,希望能够给你带…

22、多进程和多线程

 Android进程简介 Android会启动一个LINUX进程和一个主线程。默认的情况下,所 有该程序的组件都将在该进程中运行。当启动应用程序时,Linux会为每 一个程序单独分配一个进程,该进程默认只拥有一个主线程。 组件可以运行在当前进程中,也可以运行在其他进程中。组件运行在 哪个…

Docker小白到实战之常用命令演示,通俗易懂

前言上一篇大概认识了Docker,主要是从概念、架构、优点及流程方面进行阐述,并进行安装和体验;接下来就开始进行实操学习,在演示过程中会针对关键的知识点进行归纳和总结,这里先从常用命令说起,来吧&#xf…

lumen 配置数据库结果自动转数组_lumen 数据库操作 Cannot use object of type stdClass as array...

你可能记得,操作数据库时$dataList 什么什么 ->get();能查询到数据 数据结果为数组加stdClass类型你使用 $dataList $dataList->toArray();进行数据转化结果你发现,没有正确转化,你再到里面去转化,但结果证明也是徒劳foreach ($allDa…

今天这个日子,大多数人都不知道…

全世界只有3.14 % 的人关注了爆炸吧知识我是蝙蝠,身体虽小五毒俱全你确定要尝吗?我是果子狸,人们一度“谈我色变”但如今又被端上餐桌!我是野兔,人们说我很可爱我的肉却变成“野味”毛发变成皮草……今天,世…

PostgreSQL表的行数统计

PostgreSQL表的行数统计 在很多情况下我们需要知道一个表的记录数有多少。如果你发现你有这样的需求,你还应该问问这样的统计的精确度到底又多高。如果你在做会计报表,你需要非常的精确。如果你做一个网页的记数器,可能有一些误差也是允许的…

SharePoint at .NET技术大会

在这个月上海举行的.NET技术大会上,我将奉献一节名为《基于SharePoint的Web应用开发模型》的课程。由于大会的定位是“面向企业级.NET开发深度应用”,我相信大家想听的一定不是单纯的介绍SharePoint Server,或是怎么做一个Web Part。思来想去…

对DDD的常见误区

这里是Z哥的个人公众号每周五11:45 按时送达当然了,也会时不时加个餐~我的第「205」篇原创敬上大家好,我是Z哥。我从 2014 年开始接触 DDD 到现在也有 7 年多时间了,在这个期间踩过很多坑,也是自己慢慢从充…

Python办公自动化Day2-openpyxl

目录 文章声明⭐⭐⭐让我们开始今天的学习吧!常规操作添加数据遍历所有单元格数据合并/取消合并单元格添加/删除行与列移动指定范围单元格 文章声明⭐⭐⭐ 该文章为我(有编程语言基础,非编程小白)的 Python办公自动化自学笔记知识…

vsftpd服务

实验1VSFTPD实验环境在虚拟机Linux 6.5系统下需要2台Linux系统一台A作为服务端一条B作为测试客户端开启2台Linux系统。实验目标A作为服务端配置VSFTPD服务器实现FTP服务。B作为测试客户端验证服务器A的共享是否有效。配置真实主机确保真实主机能ping通2台虚拟机。实验步骤1. 首…

传递函数_使用python计算麦克风阵列信号的传递函数

使用python写了一个测试麦克风阵列传递函数的demo,有需要的自取。该代码使用了第三方库ThinkDSP。1. 传递函数首先解释下什么是传递函数:把具有线性特性的对象的输入与输出间的关系,用一个函数(输出波形的拉普拉斯变换与输入波形的拉普拉斯变…

LNK2005 连接错误解决办法

nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2YAPAXIZ) 已经在 LIBCMTD.lib(new.obj) 中定义nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3YAXPAXZ) 已经在 …

中国数学竞赛史上最玩命的“赌徒”,为了国家荣誉,他不惜用生命换来了五次世界第一...

全世界只有3.14 % 的人关注了爆炸吧知识知识君今天,要跟大家介绍的是,北大历史上首位被授予博士学位的人,深受癌症折磨的同时还带领着中国学子连续5次站上世界顶端的人,他的故事,他的品格,值得被所有人记住…

33条C#、.Net经典面试题目及答案[zt]

本文集中了多条常见的C#、.Net经典面试题目例如“.NET中类和结构的区别”、“ASP.NET页面之间传递值的几种方式?”,并简明扼要的给出了答案,希望能对学习C#、.Net的读者有所帮助。 1, 请你说说.NET中类和结构的区别? 答:结构和类…

控制用户的访问之权限、角色【weber出品必属精品】

权限的作用 限制用户对数据的访问 权限的分类 1. 系统权限:能够存取数据库的权限 2. 对象权限:操作数据库对象的内容 系统权限 1.1 如何创建用户: SQL> create user test default tablespace users identified by test;用户已创建。 1…

javq接口_Java为什么要使用接口_java接口怎么使用

Java接口是什么Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。接口(英语:Interface)&am…

[(转)hystar整理]Entity Framework 教程

预备知识 2 LINQ技术 2 LINQ技术的基础 - C#3.0 2 自动属性 2 隐式类型 2 对象初始化器与集合初始化器 3 匿名类 3 扩展方法 4 Lambda表达式 4 .NET中的数据访问 4 DataSet方案 5 改进的的DataSet方案 5 手写代码通过ADO.NET2…

Exchange中的数据库文件

Exchange中的数据库文件Exchange中的数据库文件是edb文件、stm文件和众多的log文件组成.其中以edb结尾的文件是数据库文件.以stm结尾的是流数据文件,以log结尾的是事物日志文件.<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />E…

13岁上中科大,17岁攻读哈佛博士,“天才”尹希的开挂人生

全世界只有3.14 % 的人关注了爆炸吧知识2013年美国斯隆基金会(Alfred P. Sloan Foundation)颁发的美国斯隆研究奖获得者尹希&#xff0c;31岁哈佛最年轻的华人教授&#xff0c;获2017年“豪华版诺贝尔奖”之称的科学突破奖-物理学新视野奖&#xff0c;这年唯一的获奖华裔。知识…

强制升级?!.NET Core 2.1容器镜像将从Docker Hub中删除

前言.NET Core 2.1将于2021年8月21日结束支持&#xff0c;本来应该没什么影响&#xff0c;该怎么用继续用得了。但是&#xff0c;如果你在生产环境使用了.NET Core 2.1容器镜像&#xff0c;那就要注意了&#xff0c;从8月21日开始&#xff0c;.NET Core 2.1容器镜像将不再在Doc…