Форум: "Базы";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
ВнизПроблема с CASE Найти похожие ветки
← →
тф (2006-09-22 15:42) [0]Есть запрос в котором на LEFT JOIN есть CASE условие. Раньше работал, сейчас клиенты переустановили сервер и перестал работать запрос.
Говорит ORA-00928 отсутствует ключевое слово SELECT
Весь запрос большой. Привожу только "проблемную" часть. Без нее все работате ОК.
SELECT .... FROM
.......
LEFT JOIN M_PACKAGE M_PK ON (M_PK.ID = CASE WHEN UOR_DS.ID_PACKAGE IS NULL THEN M_MC.ID_PACKAGE ELSE UOR_DS.ID_PACKAGE END)
Используется Oracle 9.
← →
clickmaker © (2006-09-22 15:58) [1]
> отсутствует ключевое слово SELECT
нехило переустановили...
← →
ANB © (2006-09-22 16:04) [2]
> Используется Oracle 9.
А был 9.2 ?
← →
salexn (2006-09-22 16:22) [3]Был и есть. 9.2.0.0.
← →
Val © (2006-09-22 16:27) [4]где и как выполняете запрос?
← →
salexn (2006-09-22 16:29) [5]Так он не выполняется :-)
Но вообще то пробовали и в PLSQL и SQL Plus
← →
Val © (2006-09-22 16:33) [6]уверены, что дело в case?
выполняется ли LEFT JOIN M_PACKAGE M_PK ON M_PK.ID = UOR_DS.ID_PACKAGE
?
← →
salexn (2006-09-22 16:39) [7]абсолютно.
Если убрать CASE то все работает. Даже более, если заменить
CASE WHEN UOR_DS.ID_PACKAGE IS NULL THEN на
CASE WHEN 1= 1 THEN
работает
← →
Sergey13 © (2006-09-22 16:41) [8]> [7] salexn (22.09.06 16:39)
Попробуй
CASE WHEN NVL(UOR_DS.ID_PACKAGE,0)=0 THEN
← →
salexn (2006-09-22 16:45) [9]>sergey13
То же самое
← →
Val © (2006-09-22 17:01) [10]CASE WHEN 1 = 0 THEN
работает?
← →
salexn (2006-09-22 17:04) [11]>Val
да
см. [7]
← →
evvcom © (2006-09-22 17:11) [12]> [3] salexn (22.09.06 16:22)
???
После установки дистриба показывает 9.2.0.1 вообще-то. Патч посвежее накати, на 9.2.0.1 мы встречали тучу багов с OUTER JOIN-ами, когда они используются совместно с некоторыми конструкциями, в том числе и кейсом вроде. У нас 6 патч стоит, подобные join-ы работают ок.
Остался пока только один глючок, который разработчикам Оракла известен, но в 7 патче тоже не заткнут. В 8-м не знаю.
← →
salexn (2006-09-22 17:19) [13]глупый вопрос, а где патч последний взять
← →
Desdechado © (2006-09-22 17:23) [14]на металинке
metalink.oracle.com
← →
Desdechado © (2006-09-22 17:24) [15]конечно, если у вас есть договор с Ораклом на техподдержку
без него туда доступ закрыт
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.11.26;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.043 c