какую коллекцию вы используете, чтобы принять возвращаемое значение выбора 1 из оракула? - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть таблица оракула, и я хочу проверить существование.

Select 1 from table where match_id = 'xxxx' вернет 0 строк, 1 строку или много строк по 1 в зависимости от количества совпадений.

Я использую myBatis для написания sql, так чтоКоллекция я должен использовать, чтобы принять результат?

1 Ответ

0 голосов
/ 17 декабря 2018

Один из способов - использовать EXISTS, выбрав из двух

SELECT
     CASE
          WHEN EXISTS (
               SELECT 1
               FROM tablename
               WHERE match_id = 'xxxx'
          ) THEN 1                  --exists
          ELSE 0                    --does not exists
     END
FROM dual;

или ограничить результат, используя ROWNUM = 1, а затем считать

select count(*) from 
(
  Select 1 from tablename where match_id = 'xxxx' and rownum = 1
);

Оба должны иметь одинаковую производительностьи лучше, чем делать select count(*) на всей таблице.

...