代码之家  ›  专栏  ›  技术社区  ›  Bobby

使用Java代码向列添加描述

  •  0
  • Bobby  · 技术社区  · 16 年前

    我可以通过使用JAVA语句在Java中创建表及其列:

    CREATE TABLE table_name(column1 int, column2 double, etc...)
    

    我想做的是用适当的语句向这些列中的每一列添加描述,我发现了一个存储过程 sp_addextendedproperty 看起来它可以用来实现这一点,我只是不知道如何用JDBC在Java中使用它。

    2 回复  |  直到 16 年前
        1
  •  1
  •   ChssPly76    16 年前

    您是否在运行时动态地创建表(例如,作为应用程序的一部分)-甚至可能是由用户驱动的?如果是这样的话,您已经在某个地方有了“文档”(列注释),我怀疑将它们添加到SQL Server的实用性。

    但是如果你只是想自动化你的构建,看看 LiquiBase . 它是一个相当不错的数据库变更管理系统,使用XML作为主干。它是用Java编写的,与Hibernate集成得很好(如果你决定使用ORM而不是直的JDBC)就很有用。

    更新: 如果您决定继续通过JDBC调用存储过程,我会 强烈地 推荐使用 CallableStatement 调用它。如果可能,应避免在应用程序中动态构建SQL查询。

        2
  •  1
  •   tpdi    16 年前

    有许多方法可以调用存储过程(基本上是准备语句并绑定变量,或者发送一个SQL字符串),但最简单的方法是只发送rhe sql语句

    exec sp_addextendedproperty list, of, arguments, the, sp, needs;
    

    跳过Try/Finally样板文件,并假定 connection 是一个 java.sql.Connection ,那就是:

    connection
      .createStatement()
          .execute( "exec sp_addextendedproperty arguments;");
    

    但是ChsSpRy76有一个很好的观点:用Java做这个不是一个好主意(除非你在Java中开发了一些数据库管理器)。

    推荐文章