2009-08-06 6 views
0

を使用して列に説明を追加します。私は文を使って、Javaでのテーブルとその列を作成することができ、Javaコード

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

私がやりたい、何が適切で、これらの列のそれぞれに説明を追加することです私はストアドプロシージャsp_addextendedpropertyは、これを達成するために使用することができるように見えますが、私はちょうどどのようにjdbcでJavaでそれを使用するか分からない。

+0

なぜJavaからこれをやりたいのですか?あなたはjavaから "create table"ステートメントを実行していますか?そうでない場合は、DDLスクリプトで一緒にバンドルされたものにしたいと思うでしょう。 – ChssPly76

+0

はい私はJavaからデータテーブルを作成しています –

答えて

1

実行時に動的にテーブルを作成していますか(アプリケーションの一部など)、おそらくユーザ主導ですか?そのような場合は、既にその "ドキュメント"(コラムコメント)がどこかにあるので、それらをSQL Serverに追加することはできません。

ビルドを自動化しようとしている場合は、LiquiBaseをご覧ください。これは、XMLをバックボーンとして使用するかなりまともなDB変更管理システムです。これはjavaで書かれており、Hibernateとうまく統合されています(まっすぐなJDBCの代わりにORMを使用することに決めた場合に便利です)。

更新:あなたはJDBC経由でストアドプロシージャを呼び出すを進めることにしたならば、私は強くはそれを呼び出すためにCallableStatementを使用することをお勧めでしょう。可能であれば、アプリケーション内でSQLクエリを動的に構築することは避けてください。

1

あります(基本的に、文を準備し、変数をバインド、またはSQLの文字列を送信)ストアドプロシージャを呼び出すには、いくつかの方法がありますが、最も簡単なだけでSQL文

exec sp_addextendedproperty list, of, arguments, the, sp, needs; 
をRHE送信することです

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

しかしChssPly76は良い点があります:

あなたのtry /ついに定型をスキップし、connectionと仮定するとjava.sql.Connectionあり、それはだ、Javaからこれをやっているではない良いアイデア(あなたには、いくつかのデータベース・マネージャーを開発している場合を除きJaでva)。

関連する問題