|
Получить случайную строку из выборки
|
|||
---|---|---|---|
#18+
Alibek B.Номер телефона тут не подходит в силу его неуникальности. ШО??? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 15:34 |
|
Получить случайную строку из выборки
|
|||
---|---|---|---|
#18+
Alibek B.Указанный номер правильнее всего будет назвать клубной картой, а не просто лицевым счетом. Это не так востребовано, как номер телефона, но и не является каким-то абстрактным числом, нужным только раз в месяц для пополнения счета — с помощью указанного номера и пароля осуществляется подключение к различным онлайн-сервисам. Давайте еще раз, по порядку и медленно. 1. Тезис о том, что номер ЛС обычному гражданину в нормальной ситуации требуется чаще, чем раз в месяц - ложен. Первые несколько дней, пока человек играет в подписки/отписки - да, дальше - нет. 2. Разделите две сущности: субъект, которого требуется идентифицировать, и объект, для доступа к которому он авторизован. Связь между этими сущностями, в общем случае, многие-ко-многим, т.е. вносить деньги по ЛС может, вообще говоря, любой член семьи, и у любого члена семьи может быть несколько лицевых счетов. Более того, у субъекта может быть несколько идентификаторов-псевдонимов (два телефона, три email, логин) Тогда схема будет классическая: - Аутентификация субъекта (установление личности по номеру телефона/email/логин_паролю) - Авторизация (определение множества ЛС, с которыми может оперировать субъект) Для лишенцев, которые зачем-то платят комиссию терминаловладельцам, можно оставить возможность платить прямо на ЛС или обеспечить более сложный протокол с отображением доступных для субъекта операций. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 15:50 |
|
Получить случайную строку из выборки
|
|||
---|---|---|---|
#18+
Alibek B.Для проверок типа "каждый сотый" разумеется будут использоваться свои собственные счетчики (критерии), поэтому способ выделения номеров может быть любым, хоть последовательный, хоть рандомный. Но если он будет последовательный, то пользователи будут думать, что призовым будет номер, оканчивающийся на два нуля, и будут пытаться его получить. Ну либо будут пытаться получить красивый номер из каких-то других соображений. Чтобы таких мотивов у них не было, я хочу выдавать рандомные номера. Тогда проще выдавать номера последовательно, но пользователю отображать не номер n, а f(n) - некую биекцию, которой пользователь не поймет как манипулировать. Например, выбрать произвольную перестановку цифр, сделать с ними еще битовый ксор у соседних цифр, и в конец дописать еще две цифры - какой-нибудь остаток от деления на 79. Дешифровывается однозначно, но для пользователя становится случайным набором цифр. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 16:26 |
|
Получить случайную строку из выборки
|
|||
---|---|---|---|
#18+
ValergradТогда проще выдавать номера последовательноУ автора уже есть пул номеров. Что может проще where rownum=1. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 16:34 |
|
Получить случайную строку из выборки
|
|||
---|---|---|---|
#18+
Сдаюсь. Зарезервировал красивые номера и оставил последовательную выдачу оставшихся с rownum=1. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 16:38 |
|
Получить случайную строку из выборки
|
|||
---|---|---|---|
#18+
Номера зарезервировал так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Не поделитесь, какие еще маски можно добавить для резервирования? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 16:43 |
|
Получить случайную строку из выборки
|
|||
---|---|---|---|
#18+
Alibek B., цель резервирования? для знакомых? ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 17:02 |
|
Получить случайную строку из выборки
|
|||
---|---|---|---|
#18+
Скорее для сотрудников и сервисных аккаунтов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 17:03 |
|
Получить случайную строку из выборки
|
|||
---|---|---|---|
#18+
Alibek B., хотел зарезервировать 777 получил ORA Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 17:13 |
|
Получить случайную строку из выборки
|
|||
---|---|---|---|
#18+
Любопытно. После случайного количества запусков сессия обрывается. Но если в сравнении убрать символ $, то работает нормально: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Или какой-то глюк самого Oracle, или to_char добавляет в конец строки какой-то невидимый символ. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2019, 17:34 |
|
|
start [/forum/topic.php?fid=52&msg=39852836&tid=1882161]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 258ms |
total: | 397ms |
0 / 0 |