2011-12-21 20 views
0

このコードを使用してOracleデータベースからデータを更新しようとしています。 プログラムにはエラーはありませんが、ORA-00933: SQL command not properly endedと表示されます。
誰でも私に何を意味するのか、どうすればそれを修正できるのか教えていただけますか?Javaを使用してOracleデータベースのデータを更新できません

String gdta=" 
    UPDATE CLIENT_DATA SET CLIENT_ADDRESS4 = 'SELANGOR' 
    WHERE CLIENT_ADDRESS4 = 68100 BATU CAVES SELANGOR D.E. 
UNION 
    UPDATE CLIENT_DATA SET CLIENT_ADDRESS4 = 'SELANGOR' 
    WHERE CLIENT_ADDRESS4 = 47100 PUCHONG,SELANGORUNION 
    UPDATE CLIENT_DATA SET CLIENT_ADDRESS4 = 'SELANGOR' 
    WHERE CLIENT_ADDRESS4 = 47100 PUCHONG"; 
+0

私はフォーマットされました問題を目に見えるようにするためのコード。もちろん、これはコンパイルされません。 – oers

+0

TQコードを書式設定する...読みやすい... – tqa

答えて

5

ユニオンステートメントでは、更新ステートメントを組み合わせることはできません。また、client_address4の値を引用する必要があるようです。

SQLコマンドをSQLクライアントで実行してからJavaで試してみましょう。

私はこのように、あなたの代わりに単一のもので、複数のステートメントを実行する必要があると思う:

String gdta="UPDATE CLIENT_DATA SET CLIENT_ADDRESS4 = 'SELANGOR' WHERE CLIENT_ADDRESS4 = '68100 BATU CAVES SELANGOR D.E.'"; 
String gdta2="UPDATE CLIENT_DATA SET CLIENT_ADDRESS4 = 'SELANGOR' WHERE CLIENT_ADDRESS4 = '47100 PUCHONG,SELANGOR'"; 
String gdta3="UPDATE CLIENT_DATA SET CLIENT_ADDRESS4 = 'SELANGOR' WHERE CLIENT_ADDRESS4 = '47100 PUCHONG'"; 

や、中節で単一のステートメントを使用します。

String gdta="UPDATE CLIENT_DATA SET CLIENT_ADDRESS4 = 'SELANGOR' WHERE CLIENT_ADDRESS4 in ('68100 BATU CAVES SELANGOR D.E.', '47100 PUCHONG,SELANGOR', '47100 PUCHONG')"; 
+0

TQそんなに...私はすでにそれを試して、それは動作します...本当にそれを感謝する! – tqa

関連する問題