Portál AbcLinuxu, 14. srpna 2025 11:16
EXECUTE ''UPDATE nodes_wgs set ycoord_float = '' || y || '' WHERE gid = '' || zaznam.gid || '';'';
prikaz se jakoby provadi, ale nic se neupdatne. Kdyz si dam stejny retezec vypisovat na obrazovku, je v poradku, napr.:
UPDATE nodes_wgs set ycoord_float = 50.0675771 WHERE gid = 6002;
nesetkali jste se nekdo s timhle problemem? Asi to bude nejaka hloupost..
Dik
To se dá dobře udělat příkazem: UPDATE nodes_wgs SET xcoord_float=xcoord*10000000.0.mas pravdu
CREATE OR REPLACE FUNCTION preved_point(integer, float, float) RETURNS void AS '
DECLARE
ide integer;
x float;
y float;
BEGIN
ide := $1;
x := $2;
y := $3;
UPDATE nodes_wgs SET nodes_geom = Geomfromtext((''POINT('' || x ||'' '' || y || '')'' ), 4326) WHERE gid = ide;
RETURN;
END
' LANGUAGE PLPGSQL;
a potom samozrejme:
select preved_point(gid, xcoord_float, ycoord_float) from nodes_wgs;
Co se tyce rychlosti, bylo to do dvou minut (96000 zaznamu, PIII+256RAM). Sestavoveni dotazu, tak jak jsem uvedl v prvnim prispevku, jsem bohuzel nerozchodil.
Zdravim
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.