SQLSERVER 生成表結構的SQL

2021-08-28 07:22:31 字數 1821 閱讀 8771

sqlserver 生成表結構的sql

select

表名=case

when a.colorder=

1then d.name else

''end

, 表說明=

case

when a.colorder=

1then isnull(f.

value,''

)else

''end

, 字段序號=a.colorder,

欄位名=a.name,

標識=case

when columnproperty( a.id,a.name,

'isidentity')=

1then

'√'else

''end

, 主鍵=

case

when

exists

(select

1from 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=

1then

'√'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 syscomments e on a.cdefault=e.id

left

join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id

left

join sys.extended_properties f on d.id=f.major_id and f.minor_id=

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

order

by a.id,a.colorder

效果圖:

SqlServer匯出表結構生成指令碼及表中資料指令碼

在sqlserver中對錶操作是最基本的,有時候為了為了避免操作失誤帶來的問題,先要備份一遍表結構及表中的內容,這樣當真的發生誤操作時可以很快的將資料恢復,所以說非常有用,自己知道的有點晚,記錄下來希望對大家有用。1 右擊資料庫 任務 生成指令碼 2 在 選擇指令碼選項 對話方塊中設定想要的內容 編...

生成表結構

2005 08 02 t sql store procedure 修訂為 完全不受字段數量或字段值影響 而生成正確完整的 insert into sql alter procedure z sp geninsertsql tablename varchar 256 whereclause varch...

SqlServer 獲取表結構

1.獲取表的基本字段屬性 獲取sqlserver中表結構 select syscolumns.name,systypes.name,syscolumns.isnullable,syscolumns.length from syscolumns,systypes where syscolumns.xu...