我有一个使用 Firebird 的应用程序。该应用程序会执行一长串查询,例如,每次您列出您的项目时。我想取出这些查询,并在我自己的 Java 应用程序中运行它们(这样我就可以操作列表、显示它等等。)
问题是......应用程序中有一个调试选项,您可以在其中查看应用程序运行的查询类型。一些原始查询有@
迹象。如果我在其中运行查询,则会@
收到错误消息。如果我取出查询的那一部分,一切都会“按预期”运行和工作。没有错误,就像一个魅力。
详细错误消息:
错误代码:-104
Token unknown - 第 8 行,第 32 列
我们使用 IntelliJ IDEA,它会在需要时自动应用转义字符。
原始查询中的这样一部分:
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
问题是..我怎么能运行这个查询?如何替换@
符号?