sco*_*ary 12 sql-server code-generation
如何获取用户定义的表类型的列信息?
EXEC sp_columns TABLENAME
Run Code Online (Sandbox Code Playgroud)
让我回到表的所有列信息.
我想对一个名为SearchList的用户定义表类型做同样的事情,并返回大致相同的列信息.
我想得到这个,所以我可以编码生成我需要在c#中的数据表.
更新显示我使用的是什么
select c.name as COLUMN_NAME, t.name as [TYPE_NAME], c.precision as [PRECISION], c.is_nullable as [NULLABLE], c.system_type_id, c.precision as [LENGTH]
from sys.columns c, sys.types t
where c.object_id = (select type_table_object_id from sys.table_types where name = 'SearchList')
and t.user_type_id = c.user_type_id
order by c.column_id
Run Code Online (Sandbox Code Playgroud)
小智 21
这将列出所有表类型及其列:
select tt.name, c.name from sys.table_types tt
inner join sys.columns c on c.object_id = tt.type_table_object_id
order by c.column_id
Run Code Online (Sandbox Code Playgroud)
您可以添加where子句并根据需要选择其他列以获得所需的内容.
小智 5
我在我的项目中使用了以下查询来获取带有列名和数据类型的表类型。
select tt.name AS table_Type, c.name AS table_Type_col_name,st.name AS
table_Type_col_datatype
from sys.table_types tt
inner join sys.columns c on c.object_id = tt.type_table_object_id
INNER JOIN sys.systypes AS ST ON ST.xtype = c.system_type_id
order by tt.name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12027 次 |
| 最近记录: |