Couple of things.  One you are using GeometryFromText incorrectly and 2
your code is just wrong.  Not just missing froms.  I think below should
work although I haven't tested it.
 
Try instead
 
CREATE OR REPLACE FUNCTION update_links() RETURNS "trigger"
    AS 
$BODY$
BEGIN
    UPDATE links SET the_geom = MakeLine(NEW.the_geom,ends.the_geom) 
        FROM nodes As ends
        WHERE NEW.name = links.from_node and ends.name = links.to_node;
 
    UPDATE links SET the_geom = MakeLine(starts.the_geom,NEW.the_geom) 
        FROM nodes As starts
        WHERE starts.name = links.from_node and NEW.name =
links.to_node;
 
RETURN NEW;
END
$BODY$
    LANGUAGE plpgsql;
CREATE TRIGGER update_links_update
  AFTER UPDATE
  ON nodes
  FOR EACH ROW
  EXECUTE PROCEDURE update_links();

________________________________

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Broun Uganda
Sent: Wednesday, August 15, 2007 5:28 AM
To: [email protected]
Subject: [postgis-users] RE: Trigger updata lines



Sorry the error i get is:
 

Query failed: ERROR:  missing FROM-clause entry for table "nodes" ....

Broun Uganda





________________________________

        From: [EMAIL PROTECTED]
        To: [email protected]
        Subject: Trigger updata lines
        Date: Tue, 14 Aug 2007 23:24:44 +0300
        
        

        I want to create a trigger that updates lines' geometry
depending on the position of 2 points (from_node & to_node). If i move
a point connecting two or more lines, the ends of lines should also move
and follow the point. I wrote the following trigger but it gives me
error that am giving multiple geometry.
         
        CREATE OR REPLACE FUNCTION update_links() RETURNS "trigger"
            AS 
        '
        DECLARE
        starts character varying;
        ends character varying;
        BEGIN
        starts = NEW.name WHERE nodes.name = links.from_node;
        ends = NEW.name WHERE nodes.name = links.to_node;
        UPDATE links SET the_geom =
GeometryFromtext(starts.the_geom,ends.the_geom) ;
        RETURN NEW;
        END'
            LANGUAGE plpgsql;
        CREATE TRIGGER update_links_update
          AFTER UPDATE
          ON nodes
          FOR EACH ROW
          EXECUTE PROCEDURE update_links();
         
         
        Thanks for your help
        
        
        
________________________________

        Live Earth is coming.  Learn more about the hottest summer event
- only on MSN. Check it out!
<http://liveearth.msn.com/?source=msntaglineliveearthwlm>  


________________________________

Hotmail to go? Get your Hotmail, news, sports and much more! Check out
the New MSN Mobile <http://mobile.msn.com>  



-----------------------------------------
The substance of this message, including any attachments, may be
confidential, legally privileged and/or exempt from disclosure
pursuant to Massachusetts law. It is intended
solely for the addressee. If you received this in error, please
contact the sender and delete the material from any computer.
_______________________________________________
postgis-users mailing list
[email protected]
http://postgis.refractions.net/mailman/listinfo/postgis-users

Reply via email to