我的 postgresql 语法错误 (%) 符号
error in my postgresql syntax (%) sign
你好,我正在学习本教程 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 子句中通过逗号分隔表进行 JOIN,然后在 WHERE 中列出条件已过时且不推荐。
你好,我正在学习本教程 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 子句中通过逗号分隔表进行 JOIN,然后在 WHERE 中列出条件已过时且不推荐。