===== Funktion für Datenbank-Trigger erstellen ===== __SQL/PL-Funktion erstellen__ * Rückgabetyp: trigger * Programmiersprache: plpgsql !! Argumente alle entfernen !! Definition: ---- BEGIN New.centroid = ST_Centroid( New.geography::geometry ); IF GeometryType( New.geography ) = 'POLYGON' THEN IF ST_IsValid( ST_AsText( New.geography ) ) = 't' THEN New.geography_area := ST_Area( New.geography ); New.geography_perimeter := ST_Perimeter( New.geography ); ELSE RAISE EXCEPTION 'Polygon intersection by column geography'; END IF; ELSE New.geography_length := ST_Length( New.geography ); IF ST_IsValid( ST_AsText( New.geography_polygon ) ) = 't' THEN New.geography_area := ST_Area( New.geography_polygon ); New.geography_perimeter := ST_Perimeter( New.geography_polygon ); ELSE RAISE EXCEPTION 'Polygon intersection by column geography_polygon'; END IF; END IF; Return New; END ---- Entspricht: UPDATE discovery SET centroid = ST_Centroid( New.geography::geometry ), geography_area = 5, geography_perimeter = 9, geography_length = 2 WHERE id=52 ===== Neuen Datenbank-Trigger in phpPgAdmin anlegen ===== {{:trigger-in-phppgadmin-erstellen.gif|{{:trigger-in-phppgadmin-erstellen.gif?200|}}