Использование переменных DBeaver DB2

В настоящее время я пытаюсь добавить некоторые параметры dbeaver в свой скрипт.

Простой SQL выглядит так:

SELECT * FROM CONTRACT WHERE CONTRACT_NUMER = :CONTRACTNUMBER;

Теперь, когда я запускаю оператор, dbeaver предлагает мне ввести номер контракта, который я ввожу. (Столбец представляет собой varchar). К сожалению, это работает, только если я помещаю свой входной параметр в один апостроф. Когда я просто набираю строку, появляется следующее сообщение об ошибке:

LE123990123 НЕ ДЕЙСТВИТЕЛЬНО В КОНТЕКСТЕ, ГДЕ ОНО ИСПОЛЬЗУЕТСЯ. SQLCODE=-206, SQLSTATE=42703, ДРАЙВЕР=4.19.49

Как сделать, чтобы этот параметр рассматривался как строка? Здесь используется DB2 11.


person 4Kings    schedule 08.02.2019    source источник


Ответы (1)


Вы ДОЛЖНЫ поставить кавычки для переменных CHAR и VARCHAR.

Если вы посмотрите вниз в BIND PARAMETERS WINDOWS, вы можете прочитать: "Используйте Tab для переключения. Строковые значения должны быть заключены в кавычки. Вы можете использовать выражения в значениях"

person Nifriz    schedule 08.02.2019
comment
Нет способа обойти это требование с помощью оператора SQL? Я попробовал '':CONTRACTNUMBER'', но это не сработало - person 4Kings; 08.02.2019
comment
Не то чтобы я знаю - person Nifriz; 08.02.2019