Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

SQL, like & %    Найти похожие ветки 

 
DeepGray   (2004-08-04 13:26) [0]

Нужен совет. Задача такова:
Есть SQL-скрипт

SELECT * FROM DOVIDNYK A, VYMIR B WHERE A.CODE_V=B.CODE_VYMIRU
AND KLASS_CODE LIKE ":kod"
AND TO_CHAR (OBLIK_NUMB) LIKE ":num"
AND ((UPPER (LONG_NAME) LIKE UPPER (":lname")) OR (UPPER SHORT_NAME) LIKE UPPER (":sname")))
AND UPPER (TYPE_P) LIKE UPPER (":tip")
AND UPPER (MARKA) LIKE UPPER (":marka")
AND UPPER (SORT_P) LIKE UPPER (":sort")
AND UPPER (RAZMER) LIKE UPPER (":razmer")
AND UPPER (KRESLENNYA) LIKE UPPER (":chert")
AND UPPER (TU) LIKE UPPER (":tu")
AND UPPER (GOST) LIKE UPPER (":gost")

ORDER BY KLASS_CODE

если необходимо, то я присваиваю соответствующему параметру значение, если по этому параметру отбирать данные не надо, то параметру присваиваю "%".
Запрос отрабатывается не правильно (IsEmpty=true, хоть я знаю что это не так).
Начинаю искать ошибку и получаю интерестный результат. После удаления выделенных строк всё работает. Добавляю по одной строке, каждый раз удаляя прошлую - со всеми (по одной) работает.
Например,

SELECT * FROM DOVIDNYK A, VYMIR B WHERE A.CODE_V=B.CODE_VYMIRU
AND KLASS_CODE LIKE ":kod"
AND TO_CHAR (OBLIK_NUMB) LIKE ":num"
AND ((UPPER (LONG_NAME) LIKE UPPER (":lname")) OR (UPPER SHORT_NAME) LIKE UPPER (":sname")))
AND UPPER (TYPE_P) LIKE UPPER (":tip")

или

SELECT * FROM DOVIDNYK A, VYMIR B WHERE A.CODE_V=B.CODE_VYMIRU
AND KLASS_CODE LIKE ":kod"
AND TO_CHAR (OBLIK_NUMB) LIKE ":num"
AND ((UPPER (LONG_NAME) LIKE UPPER (":lname")) OR (UPPER SHORT_NAME) LIKE UPPER (":sname")))
AND UPPER (TU) LIKE UPPER (":tu")

и т.д.
Опять добавляю все строки вместе - не работает. Подскажите пожалуйста, где я допускаю ошибку.


 
DeepGray   (2004-08-04 13:28) [1]

Да, я галочку напротив СУБД поставил, но что-то не сработало.
Вообщем у меня Оракл.


 
DeepGray   (2004-08-04 13:36) [2]

Млин. Вот что значит не использовать Кнтрл-Ц и Кнтрл-В.
Фрагменты кода содержат ошибку.
Вот те коды, к-рые у меня в исходнике:

Код1.
SELECT * FROM DOVIDNYK A, VYMIR B WHERE A.CODE_V=B.CODE_VYMIRU
AND KLASS_CODE LIKE :kod
AND TO_CHAR (OBLIK_NUMB) LIKE :num
AND ((UPPER (LONG_NAME) LIKE UPPER (:lname)) OR (UPPER SHORT_NAME) LIKE UPPER (:sname)))
AND UPPER (TYPE_P) LIKE UPPER (:tip)
AND UPPER (MARKA) LIKE UPPER (:marka)
AND UPPER (SORT_P) LIKE UPPER (:sort)
AND UPPER (RAZMER) LIKE UPER (:razmer)
AND UPPER (KRESLENNYA) LIKE UPPER (:chert)
AND UPPER (TU) LIKE UPPER (:tu)
AND UPPER (GOST) LIKE UPPER (:gost)

ORDER BY KLASS_CODE


Код2.
SELECT * FROM DOVIDNYK A, VYMIR B WHERE A.CODE_V=B.CODE_VYMIRU
AND KLASS_CODE LIKE ":kod"
AND TO_CHAR (OBLIK_NUMB) LIKE ":num"
AND ((UPPER (LONG_NAME) LIKE UPPER (":lname")) OR (UPPER SHORT_NAME) LIKE UPPER (":sname")))
AND UPPER (TYPE_P) LIKE UPPER (":tip")


Код3.
SELECT * FROM DOVIDNYK A, VYMIR B WHERE A.CODE_V=B.CODE_VYMIRU
AND KLASS_CODE LIKE ":kod"
AND TO_CHAR (OBLIK_NUMB) LIKE ":num"
AND ((UPPER (LONG_NAME) LIKE UPPER (":lname")) OR (UPPER SHORT_NAME) LIKE UPPER (":sname")))
AND UPPER (TU) LIKE UPPER (":tu")


 
roottim ©   (2004-08-04 13:49) [3]

сделай свой запрос в sqlplus(но удобнее в plsqldev) вместо параметров явные значения. А затем предоставь результат.
>хоть я знаю что это не так
на каком основании ты это знаешш.. вроде-бы или как-бы



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.031 c
9-1084134759
Werwolf
2004-05-10 00:32
2004.08.29
Ко всем программерам и не только вопрос


4-1089826456
archer
2004-07-14 21:34
2004.08.29
Имена файлов в UNICODE


14-1092206336
Labert
2004-08-11 10:38
2004.08.29
С чего вы начинали?


14-1091822110
Undert
2004-08-06 23:55
2004.08.29
Хех


4-1089758810
ElRaki
2004-07-14 02:46
2004.08.29
Имя файла, загрузившего DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский