SQL Server 表中存在 UDT [重复]

Posted

技术标签:

【中文标题】SQL Server 表中存在 UDT [重复]【英文标题】:UDT existence in SQL Server table [duplicate] 【发布时间】:2018-01-19 10:55:47 【问题描述】:

如何检查表是否有 UDT,如果有,如何在 SQL Server 中获取给定表中的 UDT 列表

【问题讨论】:

【参考方案1】:

应该这样做:

SELECT c.[name] AS ColumnName, ct.[name] AS UDTName
FROM sys.tables t 
     JOIN sys.columns c ON t.object_id = c.object_id
     JOIN sys.types ct ON c.user_type_id = ct.user_type_id
WHERE t.[name] = 'YourTableName'
  AND ct.is_user_defined = 1;

【讨论】:

@marc_s 感谢您更正ColumnName 上的错字,但请不要将我的 SQL 更改为您的格式偏好。 :) 它有效,对于完整的表名,我们可以使用“ Where c.object_id = OBJECT_ID('[Schema].[TableName]') ” SELECT * FROM sys.columns c INNER JOIN sys.types t ON c.user_type_id = t.user_type_id WHERE c.object_id = OBJECT_ID('[Schema].[TableName]') AND t.is_user_defined = 1

以上是关于SQL Server 表中存在 UDT [重复]的主要内容,如果未能解决你的问题,请参考以下文章