Benutzer-Werkzeuge

Webseiten-Werkzeuge


funktionen_fuer_trigger_erstellen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
funktionen_fuer_trigger_erstellen [2015/01/30 00:49]
webproducer angelegt
funktionen_fuer_trigger_erstellen [2015/12/19 00:00] (aktuell)
Zeile 13: Zeile 13:
 ---- ----
  
-BEGIN + BEGIN 
- New.geography_length :ST_Length( New.geography ); + New.centroid ​ST_Centroid( New.geography::​geometry ​); 
- IF GeometryType( New.geography ) = '​POLYGON'​ THEN + IF GeometryType( New.geography ) = '​POLYGON'​ THEN 
- IF ST_IsValid( ST_AsText( ​ New.geography ) ) = '​t'​ THEN + IF ST_IsValid( ST_AsText( ​ New.geography ) ) = '​t'​ THEN 
- New.geography_area := ST_Area( New.geography ); + New.geography_area := ST_Area( New.geography ); 
- New.geography_perimeter := ST_Perimeter( New.geography );+ New.geography_perimeter := ST_Perimeter( New.geography )
 + ELSE 
 + RAISE EXCEPTION '​Polygon intersection by column geography';​ 
 + END IF;
  ELSE  ELSE
- RAISE EXCEPTION '​Polygon intersection by column ​geography';+ 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;  END IF;
- ELSE + Return New; 
- IF ST_IsValid( ST_AsText( ​ New.geography_polygon ) ) = '​t'​ THEN + END
- 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: Entspricht:
- UPDATE discovery SET geography_area = 5, geography_length = 2 WHERE id=52+ 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 ===== ===== Neuen Datenbank-Trigger in phpPgAdmin anlegen =====
  
  
-{{:​trigger-in-phppgadmin-erstellen.gif|{{:​trigger-in-phppgadmin-erstellen.gif?​200|}}}}+{{:​trigger-in-phppgadmin-erstellen.gif|{{:​trigger-in-phppgadmin-erstellen.gif?​200|}}
funktionen_fuer_trigger_erstellen.1422575386.txt.gz · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)