欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

sqlserver数据库安全函数、配置函数、游标函数、行级函数、排名

程序员文章站 2022-06-06 22:14:30
...

行级函数:下列行集函数将返回一个可用于代替 Transact-SQL 语句中表引用的对象。 CONTAINSTABLE 返回具有零行、一行或多行的表,这些行的列中包含的基于字符类型的数据是单个词语和短语的完全匹配或模糊匹配(不完全相同)项、某个词在一定范围内的近似词或

行级函数:下列行集函数将返回一个可用于代替 Transact-SQL 语句中表引用的对象。

CONTAINSTABLE 返回具有零行、一行或多行的表,这些行的列中包含的基于字符类型的数据是单个词语和短语的完全匹配或模糊匹配(不完全相同)项、某个词在一定范围内的近似词或者加权匹配项。CONTAINSTABLE 可以像一个常规的表名称一样,在 SELECT 语句的 FROM 子句中引用。
OPENQUERY 对给定的链接服务器执行指定的传递查询。该服务器是 OLE DB 数据源。OPENQUERY 可以在查询的 FROM 子句中引用,就好象它是一个表名。OPENQUERY 也可以作为 INSERT、UPDATE 或 DELETE 语句的目标表进行引用。但这要取决于 OLE DB 访问接口的功能。尽管查询可能返回多个结果集,但是 OPENQUERY 只返回第一个。视频请参考天轰穿学院大话数据库
FREETEXTTABLE 为符合下述条件的列返回行数为零或包含一行或多行的表:这些列包含基于字符的数据类型,其中的值符合指定的 freetext_string 中文本的含义,但不一定具有完全相同的文本语言。像常规表名称一样,FREETEXTTABLE 也可以在 SELECT 语句的 FROM 子句进行引用。使用 FREETEXTTABLE 进行的查询可以指定 freetext 类型的全文查询,这些查询为每行返回一个关联等级值 (RANK) 和全文键 (KEY)。
OPENROWSET 包含访问 OLE DB 数据源中的远程数据所需的全部连接信息。可以在查询的 FROM 子句中像引用表名那样引用 OPENROWSET 函数。依据 OLE DB 访问接口的功能,还可以将 OPENROWSET 函数引用为 INSERT、UPDATE 或 DELETE 语句的目标表。尽管查询可能返回多个结果集,但 OPENROWSET 只返回第一个结果集。视频请参考天轰穿学院大话数据库
OPENDATASOURCE 不使用链接服务器的名称,而提供特殊的连接信息,并将其作为四部分对象名的一部分。
OPENXML OPENXML 通过 XML 文档提供行集视图。由于 OPENXML 是行集提供程序,因此可在会出现行集提供程序(如表、视图或 OPENROWSET 函数)的 Transact-SQL 语句中使用 OPENXML。

排名函数

排名函数为分区中的每一行返回一个排名值。根据所用函数的不同,某些行可能与其他行接收到相同的值。

RANK 返回结果集的分区内每行的排名。行的排名是相关行之前的排名数加一。视频请参考天轰穿学院大话数据库
NTILE 将有序分区中的行分发到指定数目的组中。各个组有编号,编号从一开始。对于每一个行,NTILE 将返回此行所属的组的编号。
DENSE_RANK 返回结果集分区中行的排名,在排名中没有任何间断。行的排名等于所讨论行之前的所有排名数加一。
ROW_NUMBER 返回结果集分区内行的序列号,每个分区的第一行从 1 开始。

配置函数

配置函数很多和全局变量差不多,下表是清单

@@DATEFIRST 针对会话返回 SET DATEFIRST 的当前值。
@@OPTIONS 返回有关当前 SET 选项的信息。
@@DBTS 返回当前数据库的当前 timestamp 数据类型的值。这一时间戳值在数据库中必须是唯一的。
@@REMSERVER 返回远程 SQL Server 数据库服务器在登录记录中显示的名称。(快要被删除的功能,不建议使用)
@@LANGID 返回当前使用的语言的本地语言标识符 (ID)。
@@SE RVERNAME 返回运行 SQL Server 的本地服务器的名称。
@@LANGUAGE 返回当前所用语言的名称。
@@SERVICENAME 返回 SQL Server 正在其下运行的注册表项的名称。若当前实例为默认实例,则 @@SERVICENAME 返回 MSSQLSERVER;若当前实例是命名实例,则该函数返回该实例名。
@@LOCK_TIMEOUT 返回当前会话的当前锁定超时设置(毫秒)。
@@SPID 返回当前用户进程的会话 ID。
@@MAX_CONNECTIONS 返回 SQL Server 实例允许同时进行的最大用户连接数。返回的数值不一定是当前配置的数值。
@@TEXTSIZE 返回 TEXTSIZE选项的当前值。视频请参考天轰穿学院大话数据库
@@MAX_PRECISION 按照服务器中的当前设置,返回 decimal 和 numeric 数据类型所用的精度级别。
@@VERSION 返回当前的 SQL Server 安装的版本、处理器体系结构、生成日期和操作系统。
@@NESTLEVEL 返回对本地服务器上执行的当前存储过程的嵌套级别(初始值为 0)。

元数据函数

主要用于返回有关数据库和数据库对象的信息

@@PROCID 返回 Transact-SQL 当前模块的对象标识符 (ID)。Transact-SQL 模块可以是存储过程、用户定义函数或触发器。不能在 CLR 模块或进程内数据访问接口中指定 @@PROCID 。
fn_listextendedproperty 返回数据库对象的扩展属性值。
ASSEMBLYPROPERTY 返回有关程序集的属性的信息。
FULLTEXTCATALOGPROPERTY 返回有关全文目录属性的信息。
FULLTEXTSERVICEPROPERTY 返回与全文引擎属性有关的信息。可以使用 sp_fulltext_service 设置和检索这些属性。
COL_LENGTH 返回列的定义长度(以字节为单位)。
COL_NAME 根据指定的对应表标识号和列标识号返回列的名称。
INDEX_COL 返回索引列名称。对于 XML 索引,返回 NULL。
COLUMNPROPERTY 返回有关列或过程参数的信息。视频请参考天轰穿学院大话数据库
INDEXKEY_PROPERTY 返回有关索引键的信息。对于 XML 索引,返回 NULL。
DATABASEPROPERTY 返回指定数据库和属性名的命名数据库属性值。下个版本可能删除此功能,不推荐使用。
DATABASEPROPERTYEX 返回指定数据库的指定数据库选项或属性的当前设置。
INDEXPROPERTY 根据指定的表标识号、索引或统计信息名称以及属性名称,返回已命名的索引或统计信息属性值。对于 XML 索引,返回 NULL。
OBJECT_ID 返回架构范围内对象的数据库对象标识号。
OBJECT_NAME 返回架构范围内对象的数据库对象名称。
DB_ID 返回数据库标识 (ID) 号。
DB_NAME 返回数据库名称。
OBJECTPROPERTY 返回当前数据库中架构范围内的对象的有关信息。不能将此函数用于不属于架构范围内的对象,如数据定义语言 (DDL) 触发器和事件通知。
OBJECTPROPERTYEX 返回当前数据库中架构范围内的对象的有关信息。OBJECTPROPERTYEX 不能用于非架构范围内的对象,如数据定义语言 (DDL) 触发器和事件通知。
SCHEMA_ID 返回与架构名称关联的架构 ID。
SCHEMA_NAME 返回与架构 ID 关联的架构名称。
FILE_ID 返回当前数据库中给定逻辑文件名的文件标识 (ID) 号。
FILE_NAME 返回给定文件标识 (ID) 号的逻辑文件名。
FILE_IDEX 返回当前数据库中的数据、日志或全文文件的指定逻辑文件名的文件标识 (ID) 号。
FILEGROUP_ID 返回指定文件组名称的文件组标识 (ID) 号。视频请参考天轰穿学院大话数据库
FILEGROUP_NAME 返回指定文件组标识 (ID) 号的文件组名。
SQL_VARIANT_PROPERTY 返回有关 sql_variant 值的基本数据类型和其他信息。
FILEGROUPPROPERTY 提供文件组和属性名时,返回指定的文件组属性值。
FILEPROPERTY 指定文件名和属性名时,返回指定的文件名属性值。
TYPE_ID 返回指定数据类型名称的 ID。
TYPE_NAME 返回指定类型 ID 的未限定的类型名称。
TYPEPROPERTY 返回有关数据类型的信息。

安全函数

返回对管理安全性有用的信息。视频请参考天轰穿学院大话数据库

CURRENT_USER 返回当前用户的名称。此函数等价于 USER_NAME()。
SETUSER 允许 sysadmin 固定服务器角色的成员或 db_owner 固定数据库角色的成员模拟另一用户。因为版本兼容的问题,建议建议您改用 EXECUTE AS。
SUSER_ID 返回用户的登录标识号。
SUSER_SID 返回指定登录名的安全标识号 (SID)。视频请参考天轰穿学院大话数据库
SUSER_SNAME 返回与安全标识号 (SID) 关联的登录名。
sys.fn_builtin_permissions 返回对服务器内置权限层次结构的说明。
Has_Perms_By_Name 评估当前用户对安全对象的有效权限。
IS_MEMBER 指示当前用户是否为指定 Microsoft Windows 组或 Microsoft SQL Server 数据库角色的成员。
IS_SRVROLEMEMBER 指示 SQL Server 登录名是否为指定固定服务器角色的成员。
SYSTEM_USER 当未指定默认值时,允许将系统为当前登录提供的值插入表中。
SUSER_NAME 返回用户的登录标识名。
PERMISSIONS 返回一个包含位图的值,该值指示当前用户的语句、对象或列权限。后续版本可能删除,建议不使用
SCHEMA_ID 返回与架构名称关联的架构 ID。
SCHEMA_NAME 返回与架构 ID 关联的架构名称。
USER_ID 返回数据库用户的标识号。
USER_NAME 基于指定的标识号返回数据库用户名。
SESSION_USER SESSION_USER 返回当前数据库中当前上下文的用户名。

系统统计函数

返回系统的统计信息。

@@CONNECTIONS 返回 SQL Server 自上次启动以来尝试的连接数,无论连接是成功还是失败。
@@PACK_RECEIVED 返回 SQL Server 自上次启动后从网络读取的输入数据包数。
@@CPU_BUSY 返回 SQL Server 自上次启动后的工作时间。其结果以 CPU 时间增量或“滴答数”表示,此值为所有 CPU 时间的累积,因此,可能会超出实际占用的时间。乘以 @@TIMETICKS 即可转换为微秒。
@@PACK_SENT 返回 SQL Server 自上次启动后写入网络的输出数据包个数。
fn_virtualfilestats 返回数据库文件(包括日志文件)的 I/O 统计信息。
@@TIMETICKS 返回每个时钟周期的微秒数。
@@IDLE 返回 SQL Server 自上次启动后的空闲时间。结果以 CPU 时间增量或“时钟周期”表示,并且是所有 CPU 的累积,因此该值可能超过实际经过的时间。乘以 @@TIMETICKS 即可转换为微秒。视频请参考天轰穿学院大话数据库
@@IO_BUSY 返回自从 SQL Server 最近一次启动以来,SQL Server 已经用于执行输入和输出操作的时间。其结果是 CPU 时间增量(时钟周期),并且是所有 CPU 的累积值,所以,它可能超过实际消逝的时间。乘以 @@TIMETICKS 即可转换为微秒。
@@TOTAL_ERRORS 返回自上次启动 SQL Server 之后 SQL Server 所遇到的磁盘写入错误数。视频请参考天轰穿学院大话数据库
@@TOTAL_READ 返回 SQL Server 自上次启动后由 SQL Server 读取(非缓存读取)的磁盘的数目。
@@PACKET_ERRORS 返回自上次启动 SQL Server 后,在 SQL Server 连接上发生的网络数据包错误数。
@@TOTAL_WRITE 返回自上次启动 SQL Server 以来 SQL Server 所执行的磁盘写入数。

文本和图像函数

对文本或图像输入值或列执行操作,并返回有关该值的信息

PATINDEX 返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。
TEXTVALID 检查特定文本指针是否有效的 text、ntext 或 image 函数。后续版本可能删除,建议不使用
TEXTPTR 返回对应于 varbinary 格式的 text、ntext 或 image 列的文本指针值。检索到的文本指针值可用于 READTEXT、WRITETEXT 和 UPDATETEXT 语句。后续版本可能删除,建议不使用