postgresql - 我的 postgresql 语法错误 (%) 符号
问题描述
嗨,我正在关注本教程http://workshops.boundlessgeo.com/tutorial-routing/其中我现在在我需要为最短路径创建 sql 视图的部分。但我已经进入 postgresql 几个月了。但我似乎无法理解下面附加代码片段上百分比(%)标志的目的。我四处寻找它,但我只看到关于这个 :: 的东西在谈论 % 符号。无论如何,这里是片段。因为我似乎无法让它运行。
SELECT
min(r.seq) AS seq,
e.old_id AS id,
e.name,
e.type,
e.oneway,
sum(e.time) AS time,
sum(e.distance) AS distance,
ST_Collect(e.the_geom) AS geom
FROM
pgr_dijkstra(
'SELECT
id,
source::INT4,
target::INT4,
%cost% AS cost,
CASE oneway
WHEN ''yes'' THEN -1
ELSE %cost%
END AS reverse_cost
FROM edges_noded', %source%, %target%, true) AS r,
edges_noded AS e
WHERE
r.id2 = e.id
GROUP BY
e.old_id, e.name, e.type, e.oneway
它是一个postgresql代码。
解决方案
这些是 GeoServer 在创建视图期间使用的占位符。它们将被您在所述应用程序中输入的任何内容替换。
如果您不使用 GeoServer,那么也许可以尝试使用他之前的带有硬编码值的示例:
%cost% -> time
%source% -> 753
%target% -> 756
或以后:
%cost% -> time
%source% -> 100
%target% -> 1000
不相关,但在 FROM 子句中通过逗号分隔表然后在 WHERE 中列出条件来执行 JOIN 已过时且不推荐。
推荐阅读
- qt - 需要在qml的listview中显示数千条数据,而不需要同时加载所有数据
- spring - 使用 @RequestBody 时设置默认的内容类型标头
- php - 已加载时未找到 PHP 类
- r - 根据先前的值命名列中的值,没有系统顺序
- php - WebSocket 握手期间出错:意外的响应代码:200 - Laravel Websockets
- coffeescript - Webdriver.io。使用 CTRL+单击 coffescript 突出显示多个元素
- uml - 如何在 UML 中的类构造函数中为新类建模
- javascript - 有没有比 JSON 更简单的语法允许结构化文本,并且可以在 javascript 中处理?
- amazon-web-services - AWS CodeDeploy 可以为 lambda 进行跨账户部署吗?
- ios - 当应用程序未在 Swift 中运行时接收数据