使用Java代码向列添加描述

时间:2009-08-06 01:57:37

标签: java sql database jdbc

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

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

我想要做的是使用适当的语句为每个列添加描述,我找到了一个存储过程sp_addextendedproperty,看起来它可以用来完成这个我只是不知道如何在带有jdbc的java中使用它。

2 个答案:

答案 0 :(得分:1)

有很多方法可以调用存储过程(实际上,准备语句并绑定变量,或者发送一串SQL),但最简单的方法就是发送一下SQL语句

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

跳过try / finally样板,假设connectionjava.sql.Connection,那就是:

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

但是ChssPly76有一个好处:从Java做这个并不是一个好主意(除非你用Java开发一些数据库管理器)。

答案 1 :(得分:1)

您是否在运行时动态创建表(例如,作为应用程序的一部分) - 也许这甚至是用户驱动的?如果是这种情况,你已经在某处有“文档”(列注释),我怀疑将它们添加到SQL Server的效用。

但是,如果您只是尝试自动构建,请查看LiquiBase。这是一个相当不错的数据库变更管理系统,它使用XML作为主干。它是用java编写的,并且与Hibernate很好地集成(如果您决定使用ORM而不是直接JDBC,则非常有用)。

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