1

以下のような更新クエリがあります。

UPDATE SCHEMA_NAME.TABLE_NAME SET COLUMN_NAME = VALUE;

以下のクエリを、プリペアドステートメントセッター内の文字列として渡します。

UPDATE ?.? SET ? = ?

そして、プリペアドステートメントセッターのJavaクラス内で、次のように値を設定しています。

ps.setString(1, "mySchema");
ps.setString(2, "myTable");
ps.setString(3, "myColumn");
ps.setString(4, "myValue");

ただし、上記のクエリを準備して実行するJavaプログラムを実行すると、以下のエラーが発生します。

DB2 SQL error: SQLCODE: -104, SQLSTATE: 42601

上記の方法でクエリを動的に作成するにはどうすればよいですか?

4

1 に答える 1

1

?パラメータ化 (つまり) を使用してスキーマまたはテーブル名を設定することはできません。代わりに、ステートメントを準備する前に、正しいテーブルを Java の文字列に挿入するだけで済みます。

于 2013-02-12T12:09:21.827 に答える