У меня есть запрос, который выглядит примерно так:
SELECT A.A, A.B, B.A, B.C, B.D
FROM tableone A, tabletwo B
WHERE A.A = B.A
AND B.C = :p_name
Когда для параметра: p_name установлено значение FOO Я получаю ошибку, подобную этой:
[42703] ОШИБКА: столбец "FOO" не существует
Когда я вручную устанавливаю его для включения одинарных кавычек 'FOO' , это работает.
Я пробовал заполнять экранированные одинарные кавычки. Я пробовал функции quote_ *. Я читал, используя "@", "$" и "?" Params Stypes. Это продолжает появляться.
EDIT
Устраняя столько, сколько могу, я попробовал следующее из консоли sql в IntelliJ
SELECT * from A where A.B = :p1
SELECT * from A where A.B = ?
SELECT * from A where A.B = @p1
И добавление «Foo» параметра в поле редактирования. Во всех трех случаях я получаю одну и ту же проблему. Когда я добавляю «Foo» в поле редактирования, я получаю ожидаемые результаты.
Я также использовал подготовленное состояние и? а не callableStatement с: p1 и также получил те же результаты.
Что я делаю не так?
EDIT
Удаление "stringtype = unspecified" из URL JDBC, похоже, устраняет проблему. Вот почему вы не должны просто копировать фрагменты или код других людей и просто предполагать, что он будет работать для вас.