|
|
|
Хранимая процедура для грида с пэйджинацией и сортировкой
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Подскажите пожалуйста как изменить процедуру, чтобы код стал красивее. Код: 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. В проекте имеется ряд подобных процедур (написанных мной).Но мне не нравятся примененные костыли (а именно оборачивание запроса в текстовую переменную с использованием конкатенации для сортировки). Что бы вы изменили в этой процедуре? PS: прошу прощения на этот вопрос. В базах данных (в mysql в частности) я не силен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 01:48:30 |
|
||
|
Хранимая процедура для грида с пэйджинацией и сортировкой
|
|||
|---|---|---|---|
|
#18+
dstrelkowskyНо мне не нравятся примененные костыли (а именно оборачивание запроса в текстовую переменную с использованием конкатенации для сортировки).Ничего особо страшного тут нет, главное контролировать входные значения либо внутри процедуры, либо снаружи. Иначе может прилететь все, что угодно, вплоть до SQL-инъекции. Если значения контролировать внутри процедуры, то можно их передавать, например, числами и декодировать CASE-ом. Теоретически можно этот CASE и внутрь запроса запихнуть (тогда отпадет надобность в PREPARE/EXECUTE), но тогда это убьет все шансы на применение индекса для сортировки. Впрочем, конкретно в этом запросе этих шансов все равно нет, так что можно попробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 02:33:03 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=47&tid=1835166]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 342ms |

| 0 / 0 |
