Форум: "Базы";
Текущий архив: 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