在sql Server上,sys.objects表包含“Type”和“Type_Desc”属性.例如,对于我的一个DB:
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但没有找到它.任何帮助将不胜感激.
编辑:某些数据库仅使用这些类型的子集.例如,如果我有一个没有视图的数据库,当我查询Sys.Objects如上所述,结果中没有“V”行.我正在寻找sql Server使用的所有可能的类型和描述的列表.
解决方法
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 Server源:sys.objects (Transact-SQL)它没有提到任何加入表.我不能说我曾经注意到一个代码表加入到任何系统表或视图中.
我想你必须创建自己的表或视图,或者只是使用sys.objects中的Type_Desc属性.