как проверить массив значений в столбце спящей таблицы - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть таблица partdetails, в этом partdetails у меня есть предварительно загруженные данные.Каждый раз, когда я выставляю счет клиенту, я получаю данные из таблицы partdetails, если у меня нет никаких данных в моей таблице, это означает, что я ввел все детали и выставил счет клиенту, так что информация о добавленных деталях детали должна быть добавлена ​​в эту таблицу partdetails,Это то, что я пытаюсь сделать.

Я использую спящий режим ... например, мои данные выглядят так

part[0]="abc123" assume (already in table)
part[1]="def123" assume (already not in table)
part[2]="ghi123" assume (already in table)
part[3]="jkl123" assume (already not in table)

select valueflagarray from partsdetails where part

Мне нужно значение flagarray, например

valueflagarray[0]=true
valueflagarray[1]=false
valueflagarray[2]=true
valueflagarray[3]=false

используя этот массив, я вставлю информацию о части tat, если valueflagarray = flase ..

. Вышеприведенная проблема. Я могу использовать для цикла для оператора выбора.Но мне нужно чистое решение, потому что у меня есть миллионы записей.

array A;
    for (int i=0;i<part.length;i++){
select * from partdetails where partnumber=part[i]
A[i]=resultset.length;

} Я получу такой результат, но я не хочу этого решения.

A[0]=1;
A[1]=1;
A[2]=0;
A[3]=1;

..Есть ли какие-либо встроенные функции в спящем режиме или что-то еще, но мне нужно сократить время обработки.Помогите мне, пожалуйста.заранее спасибо

1 Ответ

0 голосов
/ 26 апреля 2018

Вместо того, чтобы выполнять запрос в цикле for и снова и снова обращаться к базе данных для результатов, вы должны выполнить один запрос, подобный следующему:

select * from partdetails where partnumber in (Arrays.stream(part).collect(Collectors.joining(","))

Соберите эти результаты в Список из Resultset

Теперь переберите массив и проверьте, существует ли эта часть в списке результатов.Если нет, добавьте его в значение Flagarray.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...