Вниз
Скачать: CL | DM;

Проблема с 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.032 c
15-1162810252
m-kirill-2003
2006-11-06 13:50
2006.11.26
Помогите! Срочно!


15-1162651113
Tirael
2006-11-04 17:38
2006.11.26
есть кто с медицинским образованием?


6-1151916779
Silver...
2006-07-03 12:52
2006.11.26
Слушать не мой Сервер (программу) - у кого есть опыт


2-1162809671
dbnz3
2006-11-06 13:41
2006.11.26
вопрос


3-1159253506
ScoPal
2006-09-26 10:51
2006.11.26
DOA Oracle не могу получить ошибку привызове процедуры.




   Наверх