Допустим, у меня есть следующая таблица с тремя столбцами:
id | start_block | end_block
-----------------------------
01 | 00000000001 | 00000000005
02 | 00000000006 | 00000000011
03 | 00000000012 | 00000000018
04 | 00000000025 | 00000000031
05 | 00000000032 | 00000000043
Каждая строка представляла собой «Начальный блок» и «Конечный блок». Если бы данные были безупречны, каждый начальный блок был бы на один больше, чем конечный блок перед ним. Таким образом, для идентификатора строки == 02 начальный блок равен 6, а конечный блок для строки перед ним - 5.
Мне нужно запросить эти данные (это десятки тысяч строк) и найти пропущенные строки. Согласно моим образцам данных, между 03 и 04 должна быть строка с начальным блоком 19 и конечным блоком 24.
Я пытаюсь создать отчет в JSP, чтобы согласовать эти данные и найти пропущенные строки. Уродливый способ сделать это - вытащить весь набор записей в массив и сделать что-то вроде каждой строки:
if ((arry(i,1) + 1) != (arry(i+1),1)( {
print("Bad Row!\n");
}
Но мне бы очень хотелось иметь возможность напрямую запрашивать набор записей и возвращать то, что мне нужно. Это возможно? Если нет, может кто-нибудь указать мне правильное направление создания хранимого процесса, который делает то, что мне нужно?