Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
посоветуйте, как найти невнесенные номера
|
|||
|---|---|---|---|
|
#18+
есть база, в которую вносятся накладные, их номера, №склада и тп имея мин и макс номера (например от 1 до 1000) нужно в курсор выбрать номера, которых в базе нет я раньше делал цикл от 1 до 1000 и которых номеров в базе не находил сразу выводил на печать, но это было под ФПД и неудобно, хочу в курсор, чтобы мона было посмотреть,и , при желании, наЧепятать. можно создать курсор и занести в него такое колво записей, как надо (1000 в данном примере) и сканом пройти удаляя найденные. можно создать пустой курсор и в цикле от 1 до 1000 если номер не найден добавлять запись в курсор. это все 1000 поисков или в реалии больше поисков. можно сортануть в один курсор и поехать по нему циклом, обойдясь без поиска, просто проверять соотв. переменной цикла с номером в курсоре, если не совпадалово, скип не делать, пока не совпадет, а в это время добавлять в др курсор значение переменной цикла что еще посоветуете? мож какой SQL-Select? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 12:10 |
|
||
|
посоветуйте, как найти невнесенные номера
|
|||
|---|---|---|---|
|
#18+
Ну, что-то подобное Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. в итоге получаем курсор в кот. перечислены все ID у кот. не найдены следующие за ними значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 12:23 |
|
||
|
посоветуйте, как найти невнесенные номера
|
|||
|---|---|---|---|
|
#18+
Можно и с SQL. Создается курсор с номерами от 1 до 1000 и потом делается запрос на поиск номеров в этом курсоре которых нет в рабочей таблице. Обычный подзапрос что-то вроде Код: plaintext Правда, если это делается с целью использования ранее удаленных номеров, то следует отказаться от этой идеи, как заведомо неприемлимой по многим причинам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 12:24 |
|
||
|
посоветуйте, как найти невнесенные номера
|
|||
|---|---|---|---|
|
#18+
я так решил (напр. beg_number=1 и end_number=1000) думаю, что по времени исполнения это будет самый быстрый способ, ведь нет поиска по всей базе или ее части вообще. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 13:56 |
|
||
|
посоветуйте, как найти невнесенные номера
|
|||
|---|---|---|---|
|
#18+
GO TOP FOR nNakl=beg_number TO End_Number IF NOT EOF() AND NomNakl =nNakl SKIP ELSE INSERT INTO curFreeNums (sklN, NomNakl) VALUES (skladN, nNakl) ENDIF ENDFOR nNakl=beg_number scan do while nNakl#NomNakl INSERT INTO curFreeNums (sklN, NomNakl) VALUES (skladN, nNakl) nNakl=nNakl+1 enddo endscan скан работает быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 14:31 |
|
||
|
|

start [/forum/topic.php?fid=41&gotonew=1&tid=1594606]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
6ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 353ms |

| 0 / 0 |
