【问题标题】:Cannot update data in oracle database using java无法使用java更新oracle数据库中的数据
【发布时间】:2011-12-21 09:01:00
【问题描述】:

我正在尝试使用此代码更新我的 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";

【问题讨论】:

  • 我格式化了代码以使问题可见,当然这不会编译。
  • TQ 用于格式化代码...更易于阅读...

标签: java sql database oracle sql-update


【解决方案1】:

您不能在联合语句中组合更新语句。此外,您似乎需要引用 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')";

【讨论】:

  • TQ 这么多...我已经尝试过了,它有效...真的很感激!!
猜你喜欢
  • 2017-11-16
  • 2011-08-16
  • 1970-01-01
  • 2016-08-28
  • 2023-04-06
  • 2021-10-09
  • 1970-01-01
  • 2018-04-18
  • 1970-01-01
相关资源
最近更新 更多