@DunkanMaklaut
Студент

Инструкция не вернула результирующий набор. Что не так с запросом?

В MS SQL studio работает как нужно, а в Java-коде вылетает исключение: "Инструкция не вернула результирующий набор"
String sql=
                "DECLARE @rsrc_izm TABLE (rsrc_id INT,rsrc_name VARCHAR(max))
  INSERT INTO @rsrc_izm
 SELECT rsrc_id,rsrc_name FROM RSRC WHERE rsrc_id=(SELECT rsrc_id FROM exec_team AS et WHERE id = ?)  ORDER BY   CASE
   when rsrc_id=(SELECT rsrc_id FROM exec_team AS et WHERE id = ?)
   THEN '1'
   ELSE '2'
 END,rsrc_short_name
 
  INSERT INTO @rsrc_izm
   SELECT rsrc_id,rsrc_name FROM RSRC WHERE timesheet_flag='Y' AND active_flag='Y'  
 
 SELECT rsrc_id,rsrc_name FROM @rsrc_izm
 ORDER BY   CASE
   when rsrc_id=(SELECT rsrc_id FROM exec_team AS et WHERE id = ?)
   THEN '1'
   ELSE '2'
                END";
PreparedStatement preparedStatement = connection.prepareStatement(sql);
                    preparedStatement.setInt(1,id);
                    preparedStatement.setInt(2,id);
preparedStatement.setInt(3,id);
                    ResultSet resultSet = preparedStatement.executeQuery(); //throwables: com.microsoft.sqlserver.jdbc.SQLServerException: Инструкция не вернула результирующий набор.
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
SELECT 1, rsrc_id, rsrc_name FROM RSRC WHERE rsrc_id=?
UNION
SELECT 2, rsrc_id, rsrc_name FROM RSRC WHERE timesheet_flag = 'Y' AND active_flag = 'Y'
ORDER BY 1
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы