Невозможно обновить данные в базе данных Oracle, используя Java - PullRequest
0 голосов
/ 21 декабря 2011

Я пытаюсь обновить данные из моей базы данных 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";

1 Ответ

5 голосов
/ 21 декабря 2011

Вы не можете комбинировать операторы обновления в операторе объединения.Также похоже, что вам нужно заключить в кавычки значения 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')";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...