|
|
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
делаю так cursor cur is Select ..... Order By DECODE(bByWorkPlace,0,12,1,8), 1, 2, 3, 5; bByWorkPlace это параметр передваваемый в процедуру не работает, в смысле как будто DECODE(bByWorkPlace,0,12,1,8) и не было но на синтаксис не ругается Oracle 8.0.6 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 11:06:28 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
to Sintetik: В order by должно быть имя столбца, алиас или номер из списка выбранных столбцов. Чего ты хочешь достичь указывая DECODE(bByWorkPlace,0,12,1,8)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 11:12:27 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
сортировать по номеру из списка выбранных столбцов если bByWorkPlace=0 то сортировка по столбцу 12 если 1 , то по столбцу 8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 11:28:26 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
"если bByWorkPlace=0 то сортировка по столбцу 12 если 1 , то по столбцу 8" А как ты считаешь это условие bByWorkPlace=0 по какой строке дожно определяться? Допустим в таблице 10 строк, для 5 строк bByWorkPlace=0, а для остальных bByWorkPlace=1? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 11:41:03 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
ни по какой bByWorkPlace это параметр передваваемый в процедуру либо 0, либо 1, и он передается, я проверял, более того даже такой тупой вариант как DECODE(0,0,12,1,8) не проходит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 11:57:24 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
Просто я к тому, где ты прочитал про то что так можно делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 12:15:33 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
да здесь, на форуме, поискал, там правда выбирали по наименованию столбца, и версия оракла была побольше, чем у меня, но ведь кушает же, синтаксис значит в порядке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 12:25:22 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
/topic/18131 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 12:44:06 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
А мне кажется, все верно(но не проверял - негде ныне) - упорядочивает по значению функции, которое возвращается для каждой строки. За столбец он это не берет. Тут арифметика не уместна %). Мож ты сортируешь по хитрому арифм. выражению... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 13:01:37 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
"test it exec open :result for 'select empno, ename, comm from emp ORDER BY DECODE (:p_sort,1, empno,2, comm)' using 1 " Ты имеешь ввиду это? Я так понимаю что сначала текст парсится, после чего формируется уже конкретный запрос в зависимости от :p_sort, после чего запрос вида: Код: plaintext 1. или Код: plaintext 1. плсылается на выполнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 13:02:55 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
хорошо, чем это принципиально отличается от Код: plaintext 1. где переменная передается в процедуру как параметр? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 13:19:14 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
Еще раз обьясняю, как я думаю, по крайне мере для 8i. Если я не прав, товарищи меня поправят. Во фразе ORDER BY указывается название столбца, алиас столбца или номер в списке столбцов. В данном случае в ORDER BY не происходит никаких вычислений - ей просто указываются имя. Допустим такой запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. В данном случае во фразе OREDR BY указано название первого столбца запроса. Это не значит в ORDER BY происходят какие-то вычисления. То-же самое можно написать так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Или так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Или так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 13:40:22 |
|
||
|
условная сортировка в курсоре
|
|||
|---|---|---|---|
|
#18+
похоже на правду, а как это можно обойти в одном курсоре? на крайняк я опишу 2 курсора и буду делать фетч из того или другого в зависимости от переменной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2003, 14:00:47 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2774&tid=1990371]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
82ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 410ms |

| 0 / 0 |
