函数OBJECT_ID的第二个参数

Tho*_*hor 1 sql t-sql sql-server

我在Itzik Ben-Gan撰写的“ TSQL基础知识”一书中遇到了以下代码。

我了解该函数OBJECT_ID用于检查特定对象是否存在。但是我对它的第二个说法有点困惑N'U'

我查阅了MSDN文档,它说第二个参数代表对象类型,但我仍然不明白它N'U'代表什么。

有人可以向我解释一下它实际上代表什么吗?

IF OBJECT_ID(N'dbo.Employees', N'U') IS NOT NULL
BEGIN
    IF OBJECTPROPERTY(OBJECT_ID(N'dbo.Employees', N'U'), N'TableTemporalType') = 2
        ALTER TABLE dbo.Employees SET(SYSTEM_VERSIONING = OFF);
Run Code Online (Sandbox Code Playgroud)

Mit*_*eat 5

如果您单击链接的页面中的链接,则键入:sys.objects

U =表(用户定义)

完整列表(截至2017-01-16)

对象类型:

AF =汇总函数(CLR)

C = CHECK约束

D =默认值(约束或独立)

F =外键约束

FN = SQL标量函数

FS =装配(CLR)标量函数

FT =装配(CLR)表值函数

IF = SQL内联表值函数

IT =内部表

P = SQL存储过程

PC =程序集(CLR)存储过程

PG =计划指南

PK =主键约束

R =规则(旧式,独立式)

RF =复制过滤器过程

S =系统基本表

SN =同义词

SO =序列对象

适用于:SQL Server 2012到SQL Server 2016。

SQ =服务队列

TA =装配(CLR)DML触发器

TF = SQL表值函数

TR = SQL DML触发器

TT =桌子类型

U =表(用户定义)

UQ = UNIQUE约束

V =视图

X =扩展存储过程

适用于:SQL Server 2016到SQL Server 2016,Azure SQL数据库,Azure SQL数据仓库,并行数据仓库。

ET =外部表