2013-07-03 29 views
9

Làm cách nào để lấy lại thông tin cột cho Loại Bảng do Người dùng Xác định?Nhận thông tin cột cho Loại Bảng do Người dùng Xác định

EXEC sp_columns TABLENAME 

đưa tôi trở lại tất cả thông tin cột cho bảng.

Tôi muốn làm điều tương tự cho Loại Bảng do Người dùng Xác định được gọi là Danh sách Tìm kiếm và gần như cùng một thông tin về cột.

Tôi muốn có được điều này để tôi có thể mã tạo ra các bảng dữ liệu mà tôi cần trong C#.

Update để hiển thị những gì tôi SỬ DỤNG

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 
+0

đây là những gì tôi đã sử dụng cuối cùng –

Trả lời

16

này sẽ liệt kê tất cả các loại bảng và cột tương ứng:

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 

Bạn có thể thêm một mệnh đề where và chọn cột khác, nếu thích hợp, để có được những gì bạn cần.

4

Tôi đã sử dụng truy vấn bên dưới trong dự án của mình để nhận loại bảng có tên cột và kiểu dữ liệu.

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 
Các vấn đề liên quan