批量把自己系統的資料字典寫到資料庫欄位的說明

2022-02-04 23:58:43 字數 1244 閱讀 7157

我們公司的系統會把字段的中文名稱用字典表單獨記錄起來。所以在表設計的時候,通常都沒有往說明寫注釋,乙個個寫也不是很方便。但是如果使用李天平前輩的**生成器生成model層的時候,預設是取資料庫欄位的說明作為注釋的。所以後期開發的時候,又要寫上說明,還是比較麻煩。所以想找個方法把我們系統裡面的中文名稱寫到字段的說明中去。

欄位的說明主要儲存在這個表中:extended_properties,這個表的說明請自己查詢msdn的說明。剛開始以為看懂表結構就可以批量插入,剛插入,結果系統報錯了,這個表是受資料系統保護的。但是提供了乙個儲存過程給我們呼叫:sp_addextendedproperty。有了這個介面,我們就可以使用檢視和游標來批量插入了。

新建了乙個檢視:

如圖分別為表名,欄位名,字段說明。這個儲存過程用來插入字段說明的話,就主要需要我們提供這三個變數就可以了。

然後寫乙個游標,游標比較簡單不多解釋。

declare @tablename varchar(40)

declare @columnname varchar(100)

declare @description varchar(400)

declare upddescription scroll cursor

forselect tablename,columnname,description from vupddescription where 1=1

for update

open upddescription

fetch from upddescription into @tablename,@columnname,@description

while @@fetch_status = 0

begin

if @description is not null

print @description

exec sp_addextendedproperty n'ms_description', @description, 'schema', n'dbo', 'table', @tablename, 'column',@columnname

fetch from upddescription into @tablename,@columnname,@description

endclose upddescription

deallocate upddescription

如果後期才加入的話,也可以考慮先用excel整理好,再批量更新。在資料庫裡面操作實在太麻煩了。

資料庫的資料字典(Data dictionary)

資料字典 data dictionary 是一種使用者可以訪問的記錄資料庫和應用程式元資料的目錄。主動資料字典是指在對資料庫或應用程式結構進行修改時,其內容可以由dbms自動更新的資料字典。被動資料字典是指修改時必須手工更新其內容的資料字典。1資料字典是乙個預留空間,乙個資料庫,這是用來儲存資訊資料...

把mysql資料庫生成資料字典,直接可用

便於檢視資料庫表 字段,做乙個資料字典是很有必要的,下面只需要簡單更改下配置就可以用了,樣式也是挺好的。header content type text html charset utf 8 define db host localhost define db user root define db...

AndiffCMS中字段的資料字典

在andiffcms中,欄位是包含在模型裡面的。字段就是資料表裡面的字段,欄位是整個andiffcms的基本元素,字段表fa column,資料字典如下 欄位名稱 型別 長度 預設值 備註 idvarchar 主鍵,guid columnname varchar 列名 一般來說是註解 columne...