View difference between Paste ID: uzvT386v and JXpe2eCY
SHOW: | | - or go back to the newest paste.
1
CREATE or Replace FUNCTION func_geom_insert() RETURNS trigger AS $func_geom_insert$  
2
DECLARE
3
      results RECORD;
4
    BEGIN  
5
       FOR results IN SELECT * FROM geometries ORDER BY name  LOOP
6-
           IF st_overlaps(results.geom,NEW.geom) OR st_contains(results.geom,NEW.geom) OR st_crosses(results.geom,NEW.geom) OR st_covers(results.geom,NEW.geom) OR st_touches(results.geom,NEW.geom) OR st_equals(results.geom,NEW.geom) THEN
6+
           IF  ST_Intersects(results.geom,NEW.geom) OR st_overlaps(results.geom,NEW.geom) OR st_contains(results.geom,NEW.geom) OR st_crosses(results.geom,NEW.geom) OR st_covers(results.geom,NEW.geom) OR st_touches(results.geom,NEW.geom) OR st_equals(results.geom,NEW.geom) THEN
7
            	insert into geometries1(name,geom) values(NEW.name,NEW.geom);
8
		EXIT;
9
           END IF;            
10
       END LOOP;          
11
        return null;  
12
    END;  
13
$func_geom_insert$ LANGUAGE plpgsql;  
14-
CREATE TRIGGER t_insert_2_table AFTER INSERT ON geometries  
14+
CREATE TRIGGER t_insert_2_table BEFORE INSERT ON geometries  
15
    FOR EACH ROW EXECUTE PROCEDURE func_geom_insert();