Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Добрый субботний день:) Подскажите, пожалуйста, есть ли в Cache тип данных - строка (в Oracle %RowType) или что-то в этом духе для построчного извлечения данных из курсора? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2007, 13:07 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Строка то есть , только вот курсора к сожалению нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2007, 13:49 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Ну вот например есть код: Код: plaintext 1. 2. 3. 4. 5. 6. Теперь мне надо извлечь из курсора информацию и вывести на экран Код: plaintext 1. 2. 3. 4. 5. что можно поставить вместо *** , чтобы не создавать на каждое поле отдельную переменную? Можно конечно массив, но чето не хочется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.06.2007, 21:29 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Sonia >>Можно конечно массив, но чето не хочется... Отчего же ? В М что массив что переменная всё одно... единственно что следует позоботится о доступе к пустым индексам На первый взгляд есть как миним два способа. Первый прямой Код: plaintext чреват тем что - индексы в соданном массиве row - будут прямо говоря неудобны, и непоследовательны Второй обходный - это отказ от статического курсора и использования динамического %ReslutSet Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Но учитывая все - все это таки легче использовать массив Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2007, 20:30 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Динамический вродебы проигрывает по скорости статическому... Для автора. Если есть огромное желание запихать все в одну переменную для последующего "разбора"... Нужно изменить тип вывода полей, предварительно склеив их. Правда на моей версии конкатенация работает только с полями... Если втавить между ними разделитель получаются просто пустые строки ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 08:44 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Проигрывает ... но IMXO незначительно. Зато при тюнинге, или смене структур используемых таблиц нет нужды переписывать( перекомпилировать) программу - и можно подключать самописные процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 10:31 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Сам-то я не замерял скоростЯ Это из информации от IS... Но стало интересно. Какие изменения в классе могут повлечь перекомпилирование программы с макросом Код: plaintext А конкатенация в SQL у кого-то работает? ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 11:07 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Работает, если нет пустых (null) строк. Строки соединяем командой string() Кстати, в SQL можно использовать и команды M, например "_". Ограничения не помню, не всегда. Говорю по памяти, специально экспериментов не ставил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 11:26 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Я замеры производил - признал их малозначимыми - с оглядкой конечно как и что писать. Без перекомпилирования &SQL на него не окажут эффектов, введение новых индексов, настройка селективности как вручную так и через TuneTable, и так же не изменится код для вычислимых полей А изменение структуры таблиц, подтаблиц для &SQL смертельно - переход с одной версии каше на другую как правило то же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 11:29 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.в SQL можно использовать и команды M, например "_". Не-е-е... :( Эту использовать в SQL нельзя... Вместо нее "||" используются... Но как-то странно :) Код: plaintext 1. 2. Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 11:40 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
krvsaНе-е-е... :( Эту использовать в SQL нельзя... Вместо нее "||" используются... Но как-то странно :) Почему же? Вот, только что попробовал - все ОК. Только скобки нужно ставить или проблемы, иначе оно пытается найти такое имя поля Попробовал 1.A _ "-" _ B 2.{fn concat({fn concat (A,"-")},B)} 3.string(A,"-",B) 4.A||"-"||B Все получилось Пробовал в портале управления Cache for Windows (Intel) 5.2 (Build 329) Thu Jun 15 2006 16:40:08 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 11:58 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
...или пробелы... проблемы - это не сюда :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 12:14 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.Cache for Windows (Intel) 5.2 (Build 329) Thu Jun 15 2006 16:40:08 EDT Может в этом-то все и дело? Сейчас пробовал и с "_" и с пробелами... Работает только с полями :( При использовании строковых констант выдает пустые строки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 13:09 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Вот что работает Код: plaintext 1. 2. Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 13:18 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
FenderJBСтрока то есть , только вот курсора к сожалению нет Курсор в Cache' есть. Стоит почитать документацию по SQL в Cache' . Там есть и готовые примеры по работе с курсорами. С уважением, Вадим ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2007, 16:31 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Ptn Но учитывая все - все это таки легче использовать массив Код: plaintext 1. Так и сделаем:) Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 11:37 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
И повторно я возвращаюсь к этому вопросу.... Есть код: Код: plaintext 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. При выполнении программы: do ^CreateForm пишет ошибку где-то в районе считывания курсора и вывода значений на экран. s row(id)=%pCur0d(1),row(id_loc)=%pCur0d(2),row(dt_ch)=%pCur0d(3),row(icao)=%pC ^ ur0d(4),row(name)=%pCur0d(5),row(time_fly)=%pCur0d(6),row(tys)=%pCur0d(7),row(gs m)=%pCur0d(8),row(stat)=%pCur0d(9),row(dme)=%pCur0d(10),row(seas)=%pCur0d(11),ro w(regime)=%pCur0d(12) <UNDEFINED>%0Do+1^CreateForm *id Что не так???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 14:52 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Не Код: plaintext 1. Код: plaintext 1. Не Код: plaintext 1. Код: plaintext 1. 2. QUIT должен быть сразу после FETCH - помещение между ними WRITE - ошибка. В конце процедуры нет команды закрытия курсора - видимо не скопировался просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 15:08 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Используй Код: plaintext ---------- Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 15:23 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
PtnНе Код: plaintext 1. Код: plaintext 1. Не Код: plaintext 1. Код: plaintext 1. 2. QUIT должен быть сразу после FETCH - помещение между ними WRITE - ошибка. В конце процедуры нет команды закрытия курсора - видимо не скопировался просто А почему тогда компилятор пропустил row(dme)?? Почему нельзя ставить помещение между quit и fetch - write есть ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 15:38 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
А кстати quit:SQLCODE - прям так было написано в учебнике! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 15:40 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Ну так как значение "ВСЕ ХОРОШО" соотвествуют SQLCODE=0 то по идее работать для постусловий будет, если за истинное принимается значение отличное от нуля. Я предпочитаю явно указывать условие - мало ли что завтра в компиляторе поменяют. ЗЫ: но SQLCODE на sqlcode заменить все равно надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 16:02 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
то есть наоборот slqcode на SQLCODE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 16:03 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
Заменила, все равно та же ошибка:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 16:17 |
|
||
|
Построчное извлечение данных из курсора
|
|||
|---|---|---|---|
|
#18+
например, в строке Код: plaintext заменить Код: plaintext Код: plaintext <UNDEFINED>%0Do+1^CreateForm *id - в ошибке явно указано на неопределенную переменную id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2007, 16:47 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=34630091&tid=1559302]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 429ms |

| 0 / 0 |
