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

无法使用java更新oracle数据库中的数据,java,sql,database,oracle,sql-update,Java,Sql,Database,Oracle,Sql Update,我正在尝试使用此代码更新oracle数据库中的数据。 程序没有错误,但显示ORA-00933:SQL命令未正确结束 有人能告诉我这是什么意思吗?我怎样才能纠正它 String gdta=" UPDATE CLIENT_DATA SET CLIENT_ADDRESS4 = 'SELANGOR' WHERE CLIENT_ADDRESS4 = 68100 BATU CAVES SELANGOR D.E. UNION UPDATE CLIENT_DATA SET CLIENT_A

我正在尝试使用此代码更新oracle数据库中的数据。 程序没有错误,但显示
ORA-00933:SQL命令未正确结束

有人能告诉我这是什么意思吗?我怎样才能纠正它

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";

不能在union语句中组合update语句。另外,看起来您需要引用client_address4值

在java中尝试SQL命令之前,请先在SQL客户机中运行SQL命令,看看它是否有效

我认为您需要执行多个语句,而不是单个语句,如下所示:

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'";
或者,使用带有in子句的单个语句:

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

不能在union语句中组合update语句。另外,看起来您需要引用client_address4值

在java中尝试SQL命令之前,请先在SQL客户机中运行SQL命令,看看它是否有效

我认为您需要执行多个语句,而不是单个语句,如下所示:

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'";
或者,使用带有in子句的单个语句:

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

我格式化代码使问题可见,当然这不会编译。TQ用于格式化代码…更易于阅读…我格式化代码使问题可见,当然这不会编译。TQ用于格式化代码…更易于阅读…TQ如此之多…我已经试过了,它很有效…非常感谢!!TQ太多了…我已经试过了,而且很有效…非常感谢!!