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

0 java sql database oracle sql-update

我正在尝试使用此代码更新oracle数据库中的数据.该程序没有错误但显示ORA-00933: SQL command not properly ended.
任何人都可以让我知道它是什么意思,我该如何纠正它?

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";
Run Code Online (Sandbox Code Playgroud)

dog*_*ane 5

您不能在union语句中组合update语句.此外,您似乎需要引用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'";
Run Code Online (Sandbox Code Playgroud)

或者,使用带有子句的单个语句:

String gdta="UPDATE CLIENT_DATA SET CLIENT_ADDRESS4 = 'SELANGOR' WHERE CLIENT_ADDRESS4 in ('68100 BATU CAVES SELANGOR D.E.', '47100 PUCHONG,SELANGOR', '47100 PUCHONG')";
Run Code Online (Sandbox Code Playgroud)