--宣告所要查詢的資料表名稱 declare @tbName nvarchar(200) set @tbName='close_base' Select a.colid, a.name, c.name + '(' + Convert(varchar(4), (Case When a.xtype In (99, 231, 239) Then a.length / 2 Else a.length End)) + ')' col_type, (Case When b.pk_name Is Not Null Then 'PK' Else (Case When a.isnullable = 0 Then 'NN' Else 'N' End) End) col_status, IsNull(e.text, '') col_default From sysobjects main Inner Join syscolumns a On main.id = a.id Left Join ( Select a.id, c.name pk_name From sysindexes a Inner Join sysindexkeys b On a.id = b.id And a.indid = b.indid Inner Join syscolumns c On a.id = c.id And b.colid = c.colid Where a.status & 2048 = 2048) b On a.id = b.id And a.name = b.pk_name Inner Join systypes c On a.xtype = c.xtype And c.status = 0 --and c.name<>'image' --可在此過濾欄位格式 Left Join sys.extended_properties d On a.id = d.major_id And a.colid = d.minor_id And d.name = 'chnName' Left Join dbo.syscomments e On a.cdefault = e.id Where main.name = @tbName order by a.colid
就可以得到所要的 schema 內容了。
沒有留言:
張貼留言