Ergebnis 1 bis 5 von 5

Thema: Trigger für Update der Geometrie-Spalte

  1. #1
    christianbraun ist offline Neuer Benutzer
    Registriert seit
    18.01.2007
    Beiträge
    17

    Standard Trigger für Update der Geometrie-Spalte

    Hallo an Alle,

    ich bräuchte eine Trigger-Funktion die bei dem Ändern einer der x/y-Koordinaten-Spalten automatisch ein SQL-Statement für ein Update der Geometrie-Spalte absetzt!
    Da meine Programmierkenntnisse gegen Null tendieren, bitte ich Euch mir mal auszuhelfen.
    Das System ist Postgre 8.1x und PostGIS 1.2x

    Ich hoffe jemand kann mir schnell weiterhelfen.

    Danke schon mal im Voraus,
    Christian

  2. #2
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von christianbraun Beitrag anzeigen
    Hallo an Alle,

    ich bräuchte eine Trigger-Funktion die bei dem Ändern einer der x/y-Koordinaten-Spalten automatisch ein SQL-Statement für ein Update der Geometrie-Spalte absetzt!
    Da meine Programmierkenntnisse gegen Null tendieren, bitte ich Euch mir mal auszuhelfen.
    Das System ist Postgre 8.1x und PostGIS 1.2x

    Ich hoffe jemand kann mir schnell weiterhelfen.

    Danke schon mal im Voraus,
    Christian
    Von PostGIS hab ich keinen Plan, aber mich wundert, daß Du offensichtlich in einer Spalte Daten hast, die aus dem Inhalt anderer Spalten berechenbar ist. Das ist normalerweise kein gutes Design.

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    Gisman ist offline Erfahrener Benutzer
    Registriert seit
    20.01.2006
    Ort
    Pfalz
    Beiträge
    794

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    Von PostGIS hab ich keinen Plan, aber mich wundert, daß Du offensichtlich in einer Spalte Daten hast, die aus dem Inhalt anderer Spalten berechenbar ist. Das ist normalerweise kein gutes Design.

    Andreas
    Bei Geodaten ist (fast) alles erlaubt . Die Geometrie liegt in einem Binärformat vor. Da aber oft die Koordinaten direkt benötigt werden, halte ich die auch bei Bedarf in numerischer Form vor, weil das manche Abfrage beschleunigt, da ich sonst immer erst die Geometrie zerlegen muß. Oder ich erzeuge die Geometrie halt in einem View nach meinen Bedürfnissen. Ausserdem vereinfacht es die Kommunikation mit Menschen, die nicht in relationalen Modellen denken, z.B. Ingenieuren...
    Aber prinzipiell hast du natürlich recht.
    Leider hab ich keine Erfahrung mit Triggern, aber ich wüsste nicht, was dem Erzeugen der Geometrie in einem Trigger entgegenspräche.

    Das SQL-Statement sähe etwa so aus:

    Code:
    update MeineTabelle set [geometry]=geomfromtext[WKT-Format siehe PostGIS-Doku]
    Ohne Gewähr aus dem hohlen Bauch und ohne Kaffee

    Schöne Woche Uwe
    Have a lot of fun!

  4. #4
    christianbraun ist offline Neuer Benutzer
    Registriert seit
    18.01.2007
    Beiträge
    17

    Standard

    Ja in Geodatenbanken macht das schon Sinn die Koordinaten nochmal als Klartext abzulegen. Hier können dann Nutzer auch mal manuell Punkt-Koordinaten ändern, resp. korrigieren.
    Wie das Statement für das Update auszusehen hat weiß ich selbst. Danach wurde auch nicht gefragt;-)
    Aber wie muss die Trigger funktion aussehen. Keiner eine Idee?

  5. #5
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von christianbraun Beitrag anzeigen
    Ja in Geodatenbanken macht das schon Sinn die Koordinaten nochmal als Klartext abzulegen. Hier können dann Nutzer auch mal manuell Punkt-Koordinaten ändern, resp. korrigieren.
    Wie das Statement für das Update auszusehen hat weiß ich selbst. Danach wurde auch nicht gefragt;-)
    Aber wie muss die Trigger funktion aussehen. Keiner eine Idee?
    Du erzeugts eine Function, die einen TRIGGER als Result liefert, und sagts einfach, daß diese dann Dein Trigger ist.

    PostgreSQL: Documentation: Manuals: PostgreSQL 8.1: A Complete Example

    (der Quoting-Stil dort mit ' ist veraltet, einfacher ist Dollarquoting:
    PostgreSQL: Documentation: Manuals: PostgreSQL 8.1: Trigger Procedures)

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Ähnliche Themen

  1. Frage Mit Trigger in eine Spalte schreiben.
    Von karl_ha im Forum Trigger und Funktionen
    Antworten: 5
    Letzter Beitrag: 31.01.2012, 12:39
  2. Insert, Update Trigger der Update ausführt
    Von Tentoxa im Forum Trigger und Funktionen
    Antworten: 2
    Letzter Beitrag: 21.06.2010, 11:31
  3. UPDATE Trigger oder INSERT Trigger
    Von traxanos im Forum Trigger und Funktionen
    Antworten: 8
    Letzter Beitrag: 18.05.2010, 12:59
  4. neue geometrie zu geometrycollection spalte
    Von jasmin im Forum PostGIS
    Antworten: 5
    Letzter Beitrag: 15.07.2009, 12:51
  5. Update von nur einem Teil eines Wertes in einer Spalte?
    Von buliwyf im Forum Andere Datenbanken
    Antworten: 4
    Letzter Beitrag: 02.02.2009, 11:23

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum