2010-05-25 24 views
13

En SQL Server, la tabla sys.objects incluye los atributos "Type" y "Type_Desc". Por ejemplo, para una de mis DB:Interpretación de códigos de tipo en sys.objects en SQL Server

SELECT DISTINCT [Type], Type_Desc 
FROM Sys.Objects 
ORDER BY [Type] 

devoluciones:

 
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 

diferentes DBs tienen diferentes resultados, dependiendo de qué tipo se utilizan.

¿Hay una lista completa de estos tipos en alguna parte? No hay una restricción en sys.objects que me dirija a la tabla de estos, y sys.types contiene tipos de datos. He buscado SQL BOL pero no lo he encontrado. Cualquier ayuda sería apreciada.

EDITAR: Algunos DB utilizan solo un subconjunto de estos tipos. Por ejemplo, si tengo una base de datos sin vistas, cuando consulto Sys.Objects como se indicó anteriormente, no hay filas "V" en los resultados. Estoy buscando una lista de todos los tipos posibles y descripciones utilizadas por SQL Server.

Respuesta

35

BOL tiene una lista completa, pero no puede unirse a eso.

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 

ir a la mejor fuente de SQL Server para esta información: sys.objects (Transact-SQL) no menciona ninguna tabla para unirse a. No puedo decir que alguna vez haya notado una tabla de códigos para unirme a cualquiera de las tablas o vistas de sistemas.

Supongo que tendrá que crear su propia tabla o vista, o simplemente usar el atributo Type_Desc en sys.objects.

0

Para SQL 2016 esto es nuevo:

SP = Security Policy 
1

Sé que esto es un poco viejo, pero para aquellos que buscan una respuesta, esto es lo que encontré.

select * from master..spt_values where type = 'O9T' 
Cuestiones relacionadas