2010-05-25 2 views
13

SQL Server에서 sys.objects 테이블에는 "Type"및 "Type_Desc"특성이 포함되어 있습니다. 예를 들어, 내 DB를 중 하나 :SQL Server의 sys.objects에서 형식 코드 해석

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

결과 :

 
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에서 사용 가능한 모든 유형 및 설명 목록을 찾고 있습니다.

답변

35

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 

는이 정보에 가장 적합한 SQL 서버 소스에가는 : sys.objects (Transact-SQL)이에 가입하는 모든 테이블을 언급하지 않습니다. 시스템 테이블이나 뷰 중 하나에 조인 할 코드 테이블을 발견했다는 것을 말할 수는 없습니다.

자신 만의 테이블이나 뷰를 만들거나 sys.objects에서 Type_Desc 특성 만 사용해야 할 것입니다. 나는이 지금은 조금 오래된 실현

SP = Security Policy 
0

는 SQL 2016의 경우이 새로운 기능입니다.

select * from master..spt_values where type = 'O9T' 
1

하지만, 대답을 찾고있는 사람들을 위해, 이것은 내가 찾은 것입니다 :