批量把自己系統的數據字典寫到數據庫字段的說明
我們公司的系統會把字段的中文名稱用字典表單獨記錄起來。所以在表設計的時候,通常都沒有往說明寫注釋,一個個寫也不是很方便。但是如果使用李天平前輩的代碼生成器生成model層的時候,默認是取數據庫字段的說明作為注釋的。所以后期開發的時候,又要寫上說明,還是比較麻煩。所以想找個方法把我們系統里面的中文名稱寫到字段的說明中去。
字段的說明主要保存在這個表中:extended_properties,這個表的說明請自己查找MSDN的說明。剛開始以為看懂表結構就可以批量插入,剛插入,結果系統報錯了,這個表是受數據系統保護的。但是提供了一個存儲過程給我們調用:sp_addextendedproperty。有了這個接口,我們就可以使用視圖和游標來批量插入了。
新建了一個視圖:

如圖分別為表名,字段名,字段說明。這個存儲過程用來插入字段說明的話,就主要需要我們提供這三個變量就可以了。
然后寫一個游標,游標比較簡單不多解釋。
declare @TableName varchar(40)
declare @ColumnName varchar(100)
declare @Description varchar(400)
declare updDescription scroll cursor
for
select 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
end
close updDescription
deallocate updDescription
如果后期才加入的話,也可以考慮先用Excel整理好,再批量更新。在數據庫里面操作實在太麻煩了。
作者:Novus
出處:http://www.rzrgm.cn/novus/
本文版權歸作者和博客園共有,歡迎任何形式的轉載,但請務必注明出處。

浙公網安備 33010602011771號