это запрос:
SELECT DISTINCT pprom.pk
FROM
(
SELECT
item_t0.SourcePK as pk
FROM
links item_t0
WHERE (? = item_t0.TargetPK AND item_t0.SourcePK in (?,?))
AND (item_t0.TypePkString=? )
UNION
SELECT
item_t1.TargetPK as pk
FROM
cat2prodrel item_t1
WHERE ( item_t1.SourcePK in (? ) AND item_t1.TargetPK in (?,?))
AND (item_t1.TypePkString=? )
) AS pprom
И это ошибка:
ORA-00933: SQL command not properly ended
Есть идеи, что может быть не так?
Edit:
Знаки вопроса заменены на PK соответствующих пунктов:
values = [PropertyValue:8802745684882, PropertyValue:8796177006593, PropertyValue:8796201713665, 8796110520402, PropertyValue:8796125954190, PropertyValue:8796177006593, PropertyValue:8796201713665, 8796101705810]
Редактировать 2:
Запрос выполняется глубоко внутри какой-то проприетарной системы программного обеспечения, поэтому я не знаю точно, какой код запускает его.
Редактировать 3:
Я нашел еще один запрос, который немного короче, но приводит к тому же сообщению об ошибке:
SELECT DISTINCT pprom.pk
FROM
(
SELECT
item_t0.SourcePK as pk
FROM
links item_t0
WHERE (? = item_t0.TargetPK AND item_t0.SourcePK in (?))
AND (item_t0.TypePkString=? )
) AS pprom
Используя следующие значения:
values = [PropertyValue:8799960601490, PropertyValue:8796177006593, 8796110520402]
Редактировать 4
Я нашел код SQL, который отправляется в БД после замены значений:
SELECT DISTINCT pprom.pk
FROM
(
SELECT
item_t0.SourcePK as pk
FROM
links item_t0
WHERE (8801631769490 = item_t0.TargetPK AND item_t0.SourcePK in (8796177006593))
AND (item_t0.TypePkString=8796110520402 )
) AS pprom
Я также попытался выполнить внутренний оператор SELECT, и он один работает нормально и в результате возвращает один PK.