日期:2014-05-19  浏览次数:20511 次

求sqlserver2005以下功能的存储过程
set   ANSI_NULLS   ON
set   QUOTED_IDENTIFIER   ON
go

ALTER   proc   [dbo].[test]
(
@tblname   char(50)
)
as
SELECT   ziduan   =   a.name,leixing=b.name,
                              ziduansm   =   cast(isnull(g.[value],   ' ')   AS   char(50))
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
            sysproperties   g   ON   a.id   =   g.id   AND   a.colid   =   g.smallid   LEFT   JOIN
            sysproperties   f   ON   d   .id   =   f.id   AND   f.smallid   =   0
WHERE   d   .name   =   @tblname
ORDER   BY   a.id,   a.colorder


以上存储过程是传入表名,输出该表字段的备注信息(字段解释)
但到了sqlserver2005却提示以下错误,请问如何改?

消息   208,级别   16,状态   1,过程   test,第   6   行
对象名     'sysproperties '   无效。

(1   行受影响)


本贴曾经提问过,但没有正确的代码.

------解决方案--------------------
將使用到sysproperties 的地方改為sys.extended_properties