如果是要得到縱向的表結構,可以查詢系統表

2021-03-31 11:27:50 字數 1339 閱讀 3107

--如果是要得到縱向的表結構,可以查詢系統表

select

表名=case when a.colorder=1 then d.name else '' end,

表說明=case when a.colorder=1 then isnull(f.value,'') else '' end,

字段序號=a.colorder,

欄位名=a.name,

標識=case when columnproperty( a.id,a.name,'isidentity')=1 then '√'else '' end,

主鍵=case when exists(select 1 from sysobjects where xtype='pk' and name in (

select name from sysindexes where indid in(

select indid from sysindexkeys where id = a.id and colid=a.colid

))) then '√' else '' end,

型別=b.name,

占用位元組數=a.length,

長度=columnproperty(a.id,a.name,'precision'),

小數字數=isnull(columnproperty(a.id,a.name,'scale'),0),

允許空=case when a.isnullable=1 then '√'else '' end,

預設值=isnull(e.text,''),

字段說明=isnull(g.[value],'')

from syscolumns a

left join systypes b on a.xusertype=b.xusertype

inner join sysobjects d on a.id=d.id  and d.xtype='u' and  d.name<>'dtproperties'

left join sys***ments e on a.cdefault=e.id

left join sysproperties g on a.id=g.id and a.colid=g.**allid 

left join sysproperties f on d.id=f.id and f.**allid=0

--where d.name='要查詢的表'    --如果只查詢指定表,加上此條件

order by a.id,a.colorder

--或者用系統儲存過程

--顯示指定表的表結構資訊,sysobjects 是要顯示的表名

exec sp_columns 'sysobjects'

如果是能簡單解決的問題,就不用想得太複雜了

有個朋友在msn問我說,有沒有關於emit的資料,它想生成乙個類的動態 他抱怨emit還是很麻煩,不過交談過後知道他是想要做什麼。他希望為乙個物件的某個屬性作延遲載入,這樣可以避免一些無謂的消耗。例如 public class someclass some other members.原本構造乙個s...

得到資料庫表中的結構,初值

select case when a.colorder 1 then d.name else end n 表名 a.colorder n 字段序號 a.name n 欄位名 case when columnproperty a.id,a.name,isidentity 1 then else end...

mysql表的結構是指 MySQL表結構管理

第 章mysql 表結構管理 一 選擇題 i 下列關於資料型別的選擇方法描述錯誤的是 a.選擇最小的可用型別,如果值永遠不超過 則使用 tinyint 比int強b.對於完全都是數字的,可以選擇整數型別。c.浮點型別用於可能具有小數部分的數。d.以上都不對 unique 唯一索引的作用是 a.保證各...