【问题标题】:SQL Server - Can you add field descriptions in CREATE TABLE?SQL Server - 你可以在 CREATE TABLE 中添加字段描述吗?
【发布时间】:2010-12-31 09:53:23
【问题描述】:

我可以看到很多关于字段描述扩展属性的位置以及如何获取它的帖子,但没有关于在 CREATE TABLE 阶段添加这些内容的帖子。

我正在动态创建表格,因此动态添加字段描述将是一件整洁的事情,但我看不到方法。

有人能做到吗?

【问题讨论】:

    标签: sql sql-server create-table field-description


    【解决方案1】:

    虽然您无法在 CREATE TABLE 中执行此操作,但您可以在同一数据库脚本中使用 this approach 同时执行此操作:

    CREATE table T1 (id int , name char (20))
    
    EXEC   sp_addextendedproperty 'MS_Description', 'Employee ID', 'user', dbo, 'table', 'T1', 'column', id
    
    EXEC   sp_addextendedproperty 'MS_Description', 'Employee Name', 'user', dbo, 'table', 'T1', 'column', name
    

    然后您可以使用以下命令查看您的条目:

    SELECT   *
    FROM   ::fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'T1', 'column', default)
    

    【讨论】:

    • 这对我有用,但我必须将@level0Type 属性调整为schema,即:EXEC sp_addextendedproperty 'MS_Description', 'Employee ID', 'schema', dbo, 'table', 'T1', 'column', id;
    【解决方案2】:

    我不相信 Create Table T-SQL 语句支持这一点。但是,如果您通过 SSMS 定义表,则可以在创建表的同时轻松输入表级和列级 cmets。

    【讨论】:

    • 嗨,感谢您的回复,我知道我在这里抓着稻草,我可以通过 SSMS 执行您所说的操作,但我正在以编程方式动态创建一个表格。我在许多其他例程上构建了我的 CREATE TABLE 命令,我只是想知道我是否可以在途中加入一两条有用的评论。我有点希望有人找到一种方法或解决方法来做到这一点。谢谢
    • 如果您以编程方式动态创建表,为什么不也以编程方式添加评论扩展属性?
    【解决方案3】:

    SQL Server 提供了一个系统存储过程,允许您添加描述,一次添加一个名称-值对

    示例如下:

    EXEC sys.sp_addextendedproperty 
    @name=N'Column 2 Description' -- Give your description a name
       , @value=N'blah blah 2 for a specific column' -- Actual description
       , @level0type=N'SCHEMA'
       , @level0name=N'dbo'
       , @level1type=N'TABLE'
       , @level1name=N'MyTestTable' -- Name of your table
    GO
    

    您必须为每个描述名称-值对重复

    希望对你有帮助

    【讨论】:

      【解决方案4】:

      除了上述之外,你还可以使用 SSMS 来做。在 SSMS 中,右键单击表,选择属性,然后单击“扩展属性”(在左侧窗格中)。在右侧窗格的中间,有一个“属性”框,点击这里给你的描述起一个名字,还有一些文字,如附图所示

      【讨论】:

        猜你喜欢
        • 2021-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-20
        • 2023-03-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多