--SQL讀取指定資料表中的所有欄位說明
declare @TableName nvarchar(250)--當前操作的資料表名
set @TableName='hzfa'--指定要查詢的資料表名稱(請修改成你自己資料庫中的表名)
declare @ColumnName nvarchar(250)--遊標中的當前查詢的欄位名稱
declare @ColumnDescription nvarchar (250)--遊標中的當前查詢的欄位說明
--聲明讀取資料表中所有欄位說明的遊標
declare mycursor cursor for select a.name,CAST(g.value AS nvarchar) from sys.columns a left join sys.extended_properties g on (a.object_id = g.major_id AND a.column_id=g.minor_id) where object_id=OBJECT_ID(''+@TableName+'') order by object_id,a.column_id
--開啟遊標
open mycursor
--從遊標裡取出資料賦值到約束名稱變數中
fetch next from mycursor into @ColumnName,@ColumnDescription
--如果遊標執行成功
while (@@fetch_status=0)
begin
if(@ColumnDescription is null)
begin
print '當前資料表['+@TableName+']欄位['+@ColumnName+']對應的說明為空白'
end
else
begin
--查詢當前找到的欄位說明
print '當前資料表['+@TableName+']欄位['+@ColumnName+']對應的說明是['+@ColumnDescription+']'
end
--用遊標去取下一條記錄
fetch next from mycursor into @ColumnName,@ColumnDescription
end
--關閉遊標
close mycursor
--撤銷遊標
deallocate mycursor