CURSOR not null | |
---|---|
Lemonade Jo Автор |
Всем опять привет! Наладил я уже почти было свою формочку с курсором, даже индексацию проводил как хочу, НО вот новая напасть У меня одно поле получилось типа С(240) и еще в добавок с .NULL. и я его никак не могу проиндексировать. Как же тут быть?(COPY TO... а потом USE... делать всеже не хочется)
|
Re: CURSOR not null | |
---|---|
Lemonade Jo Автор |
Добавлю что курсор получается коммандой SELECT ... INTO CURSOR cur1 READWRITE
|
Re: CURSOR not null | |
---|---|
Вячеслав Клепинин Сообщений: 1597 Откуда: Санкт-Петербург Дата регистрации: 26.03.2004 |
Можно использовать NVL:
SELECT ..., NVL(MyField,'') AS MyField INTO CURSOR cur1 READWRITE т.е. вместо NULL будет подставляться пустая строка. Отредактировано (04.04.05 13:31) ------------------ |
Re: CURSOR not null | |
---|---|
AleksM Сообщений: 17881 Дата регистрации: 11.11.2003 |
Тогда уж SELECT ..., NVL(MyField,SPACE(240)) AS MyField INTO CURSOR cur1 READWRITE, а то порежет данные.
------------------ Лучше переесть, чем недоспать. Не спеши, а то успеешь. |
Re: CURSOR not null | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Оч. интересно
Дает ошибку.
Работает
Всё проходит нормально Вывод: при допустимости NULL значений 240 символов не индексируются. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: CURSOR not null | |
---|---|
Вячеслав Клепинин Сообщений: 1597 Откуда: Санкт-Петербург Дата регистрации: 26.03.2004 |
to AlexM
Hi! Тогда лучше PADR... SELECT ..., PADR(NVL(MyField,''),240) AS MyField INTO CURSOR cur1 READWRITE |
Re: CURSOR not null | |
---|---|
Lemonade Jo Автор |
Да беда та в том что у меня .NULL. в принципе разрешен по полю Я когда скопировал результат в таблицу то понял что в том то и дело (когда в конструкторе таблици убрал NULL - то индексация получилась). Как бы мне сразу получить такой курсор в котором значение NULL само по себе запрещенно (у меня в том поле NULL не бывает - всегда какое либо содержание есть)
|
Re: CURSOR not null | |
---|---|
Lemonade Jo Автор |
Вот вот!Если длинна строки меньше 240, то все катит...
|
Re: CURSOR not null | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Ну тебе ребята уже написали вылизанный вариант.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: CURSOR not null | |
---|---|
Lemonade Jo Автор |
Стою на асфальте в лыжи обутый...
Нет у меня в курсоре ни одной записи где по этому полю есть значение .NULL.!Я это проверял и перепроверял. Уважаемый PaulWist вы же были правы когда сказали: Работает CREATE CURSOR test (cID c (239) null) INDEX ON cID TAG cID CREATE CURSOR test (cID c (240) NOT null) INDEX ON cID TAG cID Всё проходит нормально Но не вникли видать в то, что у меня проблемма как раз в последнем... Повторяю для всех - у меня в получившемся курсоре нет полей со значением .NULL., а беда в том что созданный в запрсе курсор РАЗРЕШАЕТ это значение по полю. Так вопрос - как же мне это значение заменить на NOT NULL?ALTER TABLE не прокатывает, а копировать курсор для модификации в DBF таблицу не хочется (долго получается). Может быть както можно сбросить энтот флаг при создании? |
Re: CURSOR not null | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Посмотри этот пример, правда в 5-ке он ругается, надеюсь у тебя выше версия.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: CURSOR not null | |
---|---|
Lemonade Jo Автор |
У меня 7-ка, но на строку ALTER TABLE у меня в программе происходит пламенное послание...
... Черт все дери!Я допер... У меня небыло ключевого слова NOFILTER Как я зол С ентами курсорами уже который раз сожусь в галошу |
Re: CURSOR not null | |
---|---|
PaulWist Сообщений: 14601 Дата регистрации: 01.04.2004 |
Ладно, не убивайся. Не только ты наступаешь на грабли дважды, как наш друг Чингачгук.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
© 2000-2024 Fox Club  |