Я впервые имею дело с Oracle, и мне трудно понять, почему я получаю эту ошибку.
Я использую Oracle ODT.NET w / C # со следующим кодом в предложении where:
WHERE table.Variable1 = :VarA
AND (:VarB IS NULL OR table.Variable2 LIKE '%' || :VarB || '%')
AND (:VarC IS NULL OR table.Variable3 LIKE :VarC || '%')
и я добавляю значения параметров следующим образом:
cmd.Parameters.Add("VarA", "24");
cmd.Parameters.Add("VarB", "test");
cmd.Parameters.Add("VarC", "1234");
Когда я запускаю этот запрос, сервер возвращает:
ORA-01008: not all variables bound
Если я закомментирую одну из строк 'AND (....'), запрос завершится успешно.
Почему запрос выполняется нормально, если я запрашиваю только два параметра, а не три? Ошибка, которую я получаю, даже не имеет смысла