我需要获取用户自定义表类型的所有信息(名称、类型、是否可空),以便生成备份脚本。
我刚刚在SQL Server 2014上编写和测试了这个,希望它能适用于所有版本。
Select t.name [TableTypeName]
,SCHEMA_NAME(t.schema_id) [SchemaName]
,c.name [Column Name]
,y.name [Data Type]
,c.max_length
,c.precision
,c.is_identity
,c.is_nullable
From sys.table_types t
Inner join sys.columns c on c.object_id = t.type_table_object_id
Inner join sys.types y ON y.system_type_id = c.system_type_id
WHERE t.is_user_defined = 1
AND t.is_table_type = 1
select t.name [tabletypename]
,schema_name(t.schema_id) [schemaname]
,c.name [column name]
,y.name [data type]
,c.max_length
,c.precision
,c.is_identity
,c.is_nullable
from sys.table_types t
inner join sys.columns c on c.object_id = t.type_table_object_id
inner join sys.types y on y.user_type_id = c.user_type_id
where t.is_user_defined = 1
and t.is_table_type = 1
AND t.name = 'MyTableName' AND y.name = 'varchar'
- Ashish Kumar JaryalInner join sys.types y ON y.system_type_id = c.system_type_id AND y.user_type_id = c.user_type_id
。 - GaryTheBrave