如何使用演员表的价值进行更新?
How to make a update with value from a cast?
我有一个 INSERT INTO
查询,它从 html 表单中获取输入并将其插入到 postgres 的 table 中,其中一个列的值是 GeoJSON。现在我正在尝试准备一个触发函数,它在 INSERT
查询之后采用 json 并将其转换为几何图形并将此几何图形插入同一 table.[=13 的另一列中=]
SELECT ST_GeomFromText(
ST_AsText(
CAST(ST_GeomFromGeoJSON(t1."column-name") AS TEXT)
), 4326
)
FROM (SELECT "column-name"
FROM table-name
ORDER BY id DESC
LIMIT 1) AS t1;
通过此查询,我从插入的最后一行中获取 GeoJSON 并将其转换为几何图形,但我不知道如何将此几何图形值插入另一列。
我想出了一个解决我问题的查询:
UPDATE table-name
SET column-name = (SELECT ST_GeomFromText(
ST_AsText(
CAST(ST_GeomFromGeoJSON(t1.column-name) AS TEXT)
), 4326
)
FROM (SELECT column-name
FROM table-name
ORDER BY id DESC
LIMIT 1) AS t1)
WHERE id IN(SELECT id
FROM table-name
ORDER BY id DESC
LIMIT 1
);
通过这个查询,我在 table 中插入的最后一行中获取了一个 GeoJSON,并将其转换为几何图形并将该几何图形插入到我获取 GeoJson 的同一行的另一列中.
重要:存储GeoJSON的列的数据类型为character varying。
希望它有道理,英语不是我的母语。
我有一个 INSERT INTO
查询,它从 html 表单中获取输入并将其插入到 postgres 的 table 中,其中一个列的值是 GeoJSON。现在我正在尝试准备一个触发函数,它在 INSERT
查询之后采用 json 并将其转换为几何图形并将此几何图形插入同一 table.[=13 的另一列中=]
SELECT ST_GeomFromText(
ST_AsText(
CAST(ST_GeomFromGeoJSON(t1."column-name") AS TEXT)
), 4326
)
FROM (SELECT "column-name"
FROM table-name
ORDER BY id DESC
LIMIT 1) AS t1;
通过此查询,我从插入的最后一行中获取 GeoJSON 并将其转换为几何图形,但我不知道如何将此几何图形值插入另一列。
我想出了一个解决我问题的查询:
UPDATE table-name
SET column-name = (SELECT ST_GeomFromText(
ST_AsText(
CAST(ST_GeomFromGeoJSON(t1.column-name) AS TEXT)
), 4326
)
FROM (SELECT column-name
FROM table-name
ORDER BY id DESC
LIMIT 1) AS t1)
WHERE id IN(SELECT id
FROM table-name
ORDER BY id DESC
LIMIT 1
);
通过这个查询,我在 table 中插入的最后一行中获取了一个 GeoJSON,并将其转换为几何图形并将该几何图形插入到我获取 GeoJson 的同一行的另一列中.
重要:存储GeoJSON的列的数据类型为character varying。
希望它有道理,英语不是我的母语。