无法使用java更新oracle数据库中的数据

无法使用java更新oracle数据库中的数据

问题描述:

我正尝试使用此代码从我的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 2011-12-21 09:25:53

+0

TQ格式化代码...更易读... – tqa 2011-12-21 09:54:29

您不能在union语句中组合更新语句。此外,它看起来像你需要引用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 2011-12-21 09:47:03