查詢MSSQL資料庫表的列備註

2021-10-05 04:23:05 字數 2167 閱讀 6349

select

庫名=       case   when   a.colorder=1   then   h.table_catalog   else   ''   end,

模式=       case   when   a.colorder=1   then   h.table_schema   else   ''   end,

表名=       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   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

left   join   information_schema.tables h  on   d.name = h.table_name

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

order   by   a.id,a.colorder

-- 表加注釋

exec sys.sp_addextendedproperty @name=n'ms_description', @value=n'申請表' , @level0type=n'schema',@level0name=n'dbo', @level1type=n'table',@level1name=n'employmentcar'

-- 欄位加注釋

exec sys.sp_addextendedproperty @name=n'ms_description', @value=n'注釋內容' , @level0type=n'schema',@level0name=n'dbo', @level1type=n'table',@level1name=n'表名', @level2type=n'column',@level2name=n'欄位名'

mysql 查詢資料庫備註 查詢資料庫備註資訊

use dbsys 資料庫名字 go object storedprocedure dbo sp select talberowname script date 01 14 2015 14 43 49 set ansi nulls on goset quoted identifier on goau...

MSSQL查詢資料所在的表與列

本人無意中需要幫助維護我們的鄰居 巴倫臺醫院的醫院管理系統。其中在一次醫保資料上傳的過程中提示 病人 74828429 插入錯誤,處方號不能為空。經查,發現是把醫院管理系統的 sql2000資料庫的內容,經過處理之後,插入到oracle8 資料庫中。那麼這裡只提示了oracle8的表名列名。卻沒有提...

MSSQL資料庫 跨表 和 跨資料庫 查詢方法

mssql資料庫 跨表 和 跨資料庫 查詢方法 條件 有資料庫 test1 資料庫 test2。test1中有表 table1 table2 test2 中有表 table1。三個表的字段為 id xingming shijian shuliang。一 跨資料庫 1 原始 select from o...