У меня есть приложение, использующее Firebird. Приложение выполняет длинный список запросов, например. каждый раз, когда вы перечисляете свои предметы. Я хочу удалить эти запросы и запустить их в своем собственном Java-приложении (чтобы я мог манипулировать списком, отображать его и т. д.).
Проблема в том, что в приложении есть опция отладки, где вы можете увидеть, какие запросы выполняет ваше приложение. Некоторые из исходных запросов получили знаки @
. Если я запускаю запрос с @
, я получаю сообщение об ошибке. Если я уберу эту часть запроса, все запустится и будет работать "как положено". Никаких ошибок, как шарм.
Подробное сообщение об ошибке:
Код ошибки: -104
Неизвестный токен — строка 8, столбец 32.
Мы используем IntelliJ IDEA, который при необходимости автоматически применяет escape-символы.
Такая часть исходного запроса:
SELECT TBL4487."Id" "database.id",
TBL4487."Code" "database.code",
TBL4487."Name" "database.name",
TBL4487."Barcode" "database.barcode",
TBL4488."Name" "Datagroup",
TBL4489."Name" "Mey",
(SELECT FIRST 1 TBL4494."Price" / (CASE
WHEN (TBL4487."GrossPrices" = @Param4495) THEN 1
ELSE (TBL4492."Rate" + 100) / 100
END) "productprice.price"
FROM "ProductPrice" TBL4494
WHERE (TBL4494."Product" = TBL4487."Id") AND (TBL4494."PriceCategory" = @Param4497) AND (TBL4494."ValidFrom" <= @Param4498) AND (TBL4494."Currency" = @Param4499) AND (TBL4494."QuantityUnit" = TBL4487."QuantityUnit")
ORDER BY TBL4494."ValidFrom" DESC) "xyz",
(SELECT FIRST 1 TBL4500."Price" / (CASE
WHEN (TBL4487."GrossPrices" = @Param4501) THEN 1
ELSE (TBL4492."Rate" + 100) / 100
Вопрос в том, как я могу запустить этот запрос? Как заменить символ @
?