【问题标题】:How to update Extended Properties of a Column?如何更新列的扩展属性?
【发布时间】:2014-05-15 00:39:15
【问题描述】:

问题确实说明了一切,是否可以更新表中列的扩展属性。我一直在网上查看,但他们似乎只显示更新表的扩展属性,而不是表中的列。

【问题讨论】:

    标签: sql-server tablecolumn extended-properties


    【解决方案1】:
    EXECUTE sp_updateextendedproperty 
    N'MS_Description', 
    @v, 
    N'SCHEMA', N'dbo', 
    N'TABLE', N'Table_1', 
    N'COLUMN', N'i'
    

    这实际上是 MSDN 主题中的第一个示例:

    http://technet.microsoft.com/en-us/library/ms186885.aspx

    这是一个更完整的示例:

    --Add extended property
    EXEC sp_addextendedproperty 
        @name = N'Question1'
        ,@value = N'Hello'
        ,@level0type = N'Schema', @level0name = dbo
        ,@level1type = N'Table',  @level1name = Acceptance
        ,@level2type = N'Column', @level2name = P101;
    GO
    --Verify
    SELECT * FROM fn_listextendedproperty
    (NULL, 'schema', 'dbo', 'table', 'Acceptance', 'column', 'P101');
    GO
    --Update the extended property.
    EXEC sp_updateextendedproperty 
        @name = N'Question1'
        ,@value = N'Hello, What is your name'
        ,@level0type = N'Schema', @level0name = dbo
        ,@level1type = N'Table',  @level1name = Acceptance
        ,@level2type = N'Column', @level2name = P101;
    GO
    --Verify
    SELECT * FROM fn_listextendedproperty
    (NULL, 'schema', 'dbo', 'table', 'Acceptance', 'column', 'P101');
    GO
    

    【讨论】:

    • 您好,感谢您的回答。我刚刚看到这个,想知道为什么我需要描述和方案。我可以这样做吗exec sp_AddExtendedProperty 'TABLE', @tableName , 'COLUMN', @columnName , 'NAME', @name , 'VALUE' , @value
    • 否,“对一个级别中的对象的引用必须使用拥有或包含它们的更高级别对象的名称来限定。”
    • 为避免歧义,最好同时指定模式级别。我的回答中的“MS_Description”只是属性的名称。
    • 我知道这听起来很愚蠢,但我正在尝试将其放入查询中,并且它说我正在提供invalid parameters。如果我有一个名为Acceptance 的表和一个名为P101 的列,然后我想要属性名称Question1,然后是值Hello, What is your name,我将在查询中添加它们的位置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-30
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多