SELECT [Table Name]= i_s.TABLE_NAME, [Column Name]= i_s.COLUMN_NAME, [Description]= s.value FROM INFORMATION_SCHEMA.COLUMNS i_s INNERJOIN sysproperties s ON s.id =OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME) AND s.smallid = i_s.ORDINAL_POSITION AND s.name ='MS_Description' WHERE OBJECTPROPERTY(OBJECT_ID(i_s.TABLE_SCHEMA+'.'+i_s.TABLE_NAME), 'IsMsShipped')=0 ORDERBY i_s.TABLE_NAME, i_s.ORDINAL_POSITION
SQL Server 2005
在SQL Server 2005 中 sysproperties 表已被废弃,所以上面的代码都不能用。幸运的是他们还是增加了一个系统表给我们 sys.extended_properties,这张表和 sysproperties基本上相似。
SELECT [Table Name]=OBJECT_NAME(c.object_id), [Column Name]= c.name, [Description]= ex.value FROM sys.columns c LEFTOUTERJOIN sys.extended_properties ex ON ex.major_id = c.object_id AND ex.minor_id = c.column_id AND ex.name ='MS_Description' WHERE OBJECTPROPERTY(c.object_id, 'IsMsShipped')=0 -- AND OBJECT_NAME(c.object_id) = 'your_table' ORDER BYOBJECT_NAME(c.object_id), c.column_id
和SQL Server 2000一样,你可以使用注释部份来返回某一张表。 Microsoft Access 在Access中,你可以使用下面的ASP代码来得到某一个字段的说明