解释SQL Server中sys.objects中的类型代码

Jus*_* R. 13 sql-server types

在SQL Server上,sys.objects表包含"Type"和"Type_Desc"属性.例如,对于我的一个DB:

SELECT DISTINCT [Type], Type_Desc
FROM Sys.Objects
ORDER BY [Type]
Run Code Online (Sandbox Code Playgroud)

返回:

C       CHECK_CONSTRAINT  
D       DEFAULT_CONSTRAINT  
F       FOREIGN_KEY_CONSTRAINT  
FN      SQL_SCALAR_FUNCTION  
FS      CLR_SCALAR_FUNCTION  
IT      INTERNAL_TABLE  
P       SQL_STORED_PROCEDURE  
PK      PRIMARY_KEY_CONSTRAINT  
S       SYSTEM_TABLE  
SQ      SERVICE_QUEUE  
TR      SQL_TRIGGER  
U       USER_TABLE  
UQ      UNIQUE_CONSTRAINT  
V       VIEW  

根据使用的类型,不同的DB具有不同的结果.

某处有这些类型的综合清单吗?sys.objects没有约束指向我的表,sys.types包含数据类型.我搜索过SQL BOL但没有找到它.任何帮助,将不胜感激.

编辑:某些DB仅使用这些类型的子集.例如,如果我有一个没有视图的数据库,当我像上面一样查询Sys.Objects时,结果中没有"V"行.我正在寻找SQL Server使用的所有可能类型和描述的列表.

KM.*_*KM. 36

BOL有一个完整的列表,但你无法加入.

AF = Aggregate function (CLR)
C  = CHECK constraint
D  = DEFAULT (constraint or stand-alone)
F  = FOREIGN KEY constraint
FN = SQL scalar function
FS = Assembly (CLR) scalar-function
FT = Assembly (CLR) table-valued function
IF = SQL inline table-valued function
IT = Internal table
P  = SQL Stored Procedure
PC = Assembly (CLR) stored-procedure
PG = Plan guide
PK = PRIMARY KEY constraint
R  = Rule (old-style, stand-alone)
RF = Replication-filter-procedure
S  = System base table
SN = Synonym
SQ = Service queue
TA = Assembly (CLR) DML trigger
TF = SQL table-valued-function
TR = SQL DML trigger
TT = Table type
U  = Table (user-defined)
UQ = UNIQUE constraint
V  = View
X  = Extended stored procedure
Run Code Online (Sandbox Code Playgroud)

转到此信息的最佳SQL Server源:sys.objects(Transact-SQL)它没有提到要加入的任何表.我不能说我曾经注意到要加入任何系统表或视图的代码表.

我想你必须创建自己的表或视图,或者只使用sys.objects中的Type_Desc属性.