2013-09-25 3 views
5

при попытке выполнить указанный ниже запрос на SQL-сервере. Я получаю сообщение об ошибке SQL Error: метод executeQuery должен возвращать набор результатов.Ошибка SQL: метод executeQuery должен возвращать результирующий набор

with cte 
AS 
(
    SELECT GUID,seq original_seq_no, ROW_NUMBER() 
    OVER (PARTITION BY GUID ORDER BY seq) AS new_seq_no 
    FROM CHK_SEQ 
) 

update CHK_SEQ 
set  CHK_SEQ.seq = r.new_seq_no 
from cte r 
where CHK_SEQ.seq = r.original_seq_no AND CHK_SEQ.GUID= r.GUID; 

Может любой, пожалуйста, помогите мне с этим.

+0

Я предполагаю, что вы делаете это из кода приложения, и вы должны использовать что-то вроде 'executeNonQuery()' вместо 'executeQuery()' (в зависимости от языка, конечно). – Mr47

+0

Спасибо за ответ. Я пишу это заявление, чтобы обновить таблицу, поскольку некоторые плохие данные были введены через пользовательский интерфейс. Я не делаю этого с помощью кода приложения. – user2810293

ответ

9

executeQuery method must return a result set

Ваш запрос не возвращает результирующий набор. Это ОБНОВЛЕНИЕ. Используйте вместо этого ExecuteNonQuery, executeUpdate для Java

+0

Спасибо за ответ, я пишу этот запрос, чтобы обновить таблицу, поскольку некоторые плохие данные были введены через пользовательский интерфейс. Я не делаю этого с помощью кода приложения. – user2810293

+1

Это ошибка Java, так же как и ошибка клиента. Двигатель не бросает ошибки Java. –

+0

@ user2810293 Какую программу (UI) вы используете для управления БД? – Mr47

Смежные вопросы