|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Здравствуйте! Есть код SQL: Код: plsql 1. 2. 3. 4. 5.
Подскажите, правильно ли я понимаю, что этот код oracle? Помогите решить задачу: Одним запросом необходимо получить минимальный свободный (отсутствующий) номер (NUMB), но не менее минимального занятого (существующего) номера. Если нет ни одной записи в таблице, запрос должен вернуть значение 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 13:30 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
eliasum, поиск на сайте по слову "дырка" .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 14:13 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Stax, что это значит? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 14:18 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
eliasum Stax, что это значит? https://www.sql.ru/forum/actualsearch.aspx?search=?????&sin=0&bid=3&a=&ma=0&dt=-1&s=1&so=1 ps счас немножко занят, освобожусь попробую нарисовать .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 14:20 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Stax, не сразу про дырки понял)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 14:36 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
eliasum, если нет свободных то , запрос должен вернуть ... ? .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 15:01 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
eliasum, если нет свободных то 0 rownum/row_number() Код: 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.
lead Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
зы + match_recognize, model, ... .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 15:45 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Stax если нет свободных то 0 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 15:48 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Stax match_recognize Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 16:43 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
SY, так не проще? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
ps мож match_number()=1 можно как то красивее/оптимальнее заюзать .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 17:11 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Stax, добавил strt as match_number()=1 Код: 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.
.... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 17:23 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Stax, перебор с match_number()=1 Код: plsql 1. 2. 3.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 17:35 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Спасибо большое! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 18:24 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Stax SY, так не проще? Казалось бы зачем натягивать агрегат на match_recognize. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 18:33 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Кобанчег Казалось бы зачем натягивать агрегат на match_recognize. Если нет ни одной записи в таблице, запрос должен вернуть значение 1. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.04.2020, 18:38 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Stax Код: plsql 1.
но в любом случае будут прочитаны все строки и будут отсортированы все строки таблицы. Даже если на столбце есть уникальный индекс это может дать MATCH RECOGNIZE BUFFER вместо MATCH RECOGNIZE SORT, но профита особого от этого нет. SY Кобанчег Казалось бы зачем натягивать агрегат на match_recognize. Если нет ни одной записи в таблице, запрос должен вернуть значение 1. SY. Тем более что парсер подглючивает когда match_recognize в скаляре. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 00:24 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Кобанчег Stax Код: plsql 1.
но в любом случае будут прочитаны все строки и будут отсортированы все строки таблицы. Даже если на столбце есть уникальный индекс это может дать MATCH RECOGNIZE BUFFER вместо MATCH RECOGNIZE SORT, но профита особого от этого нет. Более того, в этом случае это позволяет избавиться от backtracking. Соответственно получаем MATCH RECOGNIZE SORT DETERMINISTIC FINITE AUTOMATON (или MATCH RECOGNIZE BUFFER DETERMINISTIC FINITE AUTOMATON при наличии нужного индекса) вместо MATCH RECOGNIZE SORT. Для этой задачи кроме более красивого плана, впрочем, особого профита опять же нет. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 01:47 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Уважаемые спецы, прокомментируйте пожалуйста ваш код поподробнее, какую теорию нужно изучить? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 06:29 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
eliasum Уважаемые спецы, прокомментируйте пожалуйста ваш код поподробнее, какую теорию нужно изучить? Конкретно для твоей задачи ничего изучать не надо - достаточно понять самое простое решение 22071163 . Которое к тому же самое эффективное. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 14:24 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Кобанчег достаточно понять самое простое решение 22071163 . Которое к тому же самое эффективное. допиливать надо ps насчет самое эффективное, возможно ето зависит и от обьемов и от положения дырки .... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 14:37 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Stax допиливать надо Странно почему на таком тривиальном изменении делается акцент. Ты исходишь из допущения что адресат является имбецилом не в состоянии внести изменения в 5 строчек кода? Stax насчет самое эффективное, возможно ето зависит и от обьемов и от положения дырки И перейти от cursor for loop к bulk fetch с отрегулированным размером пачки. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 15:28 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Кобанчег, исходил из автор Конкретно для твоей задачи ничего изучать не надо - достаточно понять самое простое решение конкретно для даной задачи надо допилить 1) пустая таблица 2) нет дырки (что вернуть?) тоесть не достаточно понять, но надо и допилить зы я не доктор чтоб кого-то считать имбицилом тем более «имбецил» — устаревшие и не рекомендуются к использованию, так как они вышли за сугубо медицинские рамки и стали носить социальный (негативный) оттенок ..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 15:53 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Stax нет дырки (что вернуть?) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 16:32 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Stax конкретно для даной задачи надо допилить 1) пустая таблица 2) нет дырки (что вернуть?) Есть проход по курсору с конкретным условием прерывания и в определенном порядке и есть возврат результата. Всё. Обычно хорошим стилем программирования считается когда в функции есть только одна точка выхода. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
В решении НЕ важно есть ли дырка или нет. Для пустой таблицы добавлено nvl. Это требует по-твоему дополнительных замечаний? В твоем случае, к сожалению, доходит до маразма. Даже если решение на форуме было дано 100 раз и тут появляется вопрошающий у которого другое название таблицы или колонок ты не можешь удержатьяся от соблазна родить 101-й дубль. Это наводит на мысль, что ты относишься к вопрошающим как к умственно отсталым неспособным на самую примитивную умственную деятельность. Stax они вышли за сугубо медицинские рамки PS. Stax эффективное, возможно ето ... |
|||
:
Нравится:
Не нравится:
|
|||
10.04.2020, 17:47 |
|
Синтаксис какой СУБД?
|
|||
---|---|---|---|
#18+
Спасибо большое за это решение, буду разбираться! Кобанчег Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2020, 09:07 |
|
|
start [/forum/topic.php?fid=52&fpage=49&tid=1881368]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
35ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 146ms |
0 / 0 |