![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с CASE
тф © (2006-09-22 15:42:00)Есть запрос в котором на 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.
Desdechado (2006-09-22 17:24:00) [1]конечно, если у вас есть договор с Ораклом на техподдержку
без него туда доступ закрыт
Desdechado (2006-09-22 17:23:00) [2]на металинке
metalink.oracle.com
salexn (2006-09-22 17:19:00) [3]глупый вопрос, а где патч последний взять
evvcom (2006-09-22 17:11:00) [4]> [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:04:00) [5]>Val
да
см. [7]
Val (2006-09-22 17:01:00) [6]CASE WHEN 1 = 0 THEN
работает?
salexn (2006-09-22 16:45:00) [7]>sergey13
То же самое
Sergey13 (2006-09-22 16:41:00) [8]> [7] salexn (22.09.06 16:39)
Попробуй
CASE WHEN NVL(UOR_DS.ID_PACKAGE,0)=0 THEN
salexn (2006-09-22 16:39:00) [9]абсолютно.
Если убрать CASE то все работает. Даже более, если заменить
CASE WHEN UOR_DS.ID_PACKAGE IS NULL THEN на
CASE WHEN 1= 1 THEN
работает
Val (2006-09-22 16:33:00) [10]уверены, что дело в case?
выполняется ли LEFT JOIN M_PACKAGE M_PK ON M_PK.ID = UOR_DS.ID_PACKAGE
?
salexn (2006-09-22 16:29:00) [11]Так он не выполняется :-)
Но вообще то пробовали и в PLSQL и SQL Plus
Val (2006-09-22 16:27:00) [12]где и как выполняете запрос?
salexn (2006-09-22 16:22:00) [13]Был и есть. 9.2.0.0.
ANB (2006-09-22 16:04:00) [14]
> Используется Oracle 9.
А был 9.2 ?
clickmaker (2006-09-22 15:58:00) [15]
> отсутствует ключевое слово SELECT
нехило переустановили...