Ergebnis 1 bis 6 von 6

Thema: Mit Trigger in eine Spalte schreiben.

  1. #1
    karl_ha ist offline Erfahrener Benutzer
    Registriert seit
    08.03.2009
    Beiträge
    225

    Standard Mit Trigger in eine Spalte schreiben.

    Hallo,
    mit dem 'POINT' hat diese Funktion Probleme.

    ERROR: syntax error at or near "POINT"
    LINE 5: ...e public.geom_update set the_geom = geomfromtext('POINT('||x...

    Code:
    CREATE FUNCTION mfg_new()RETURNS trigger AS '
    DECLARE
      the_geom geometry;
    BEGIN
      update public.geom_update set the_geom = geomfromtext('POINT('||x||' '||y||')',4326);
    END;
    'LANGUAGE 'plpgsql';
    
    CREATE TRIGGER mfg_insert AFTER INSERT 
    ON public.mfg FOR EACH STATEMENT 
    EXECUTE PROCEDURE mfg_new();
    Die Funktion soll nach einem INSERT eine Funktion ausführen um damit eine Spalte zu befüllen.

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

    Standard

    Zitat Zitat von karl_ha Beitrag anzeigen
    Hallo,
    mit dem 'POINT' hat diese Funktion Probleme.

    ERROR: syntax error at or near "POINT"
    LINE 5: ...e public.geom_update set the_geom = geomfromtext('POINT('||x...

    Code:
    CREATE FUNCTION mfg_new()RETURNS trigger AS '
    DECLARE
      the_geom geometry;
    BEGIN
      update public.geom_update set the_geom = geomfromtext('POINT('||x||' '||y||')',4326);
    END;
    'LANGUAGE 'plpgsql';
    
    CREATE TRIGGER mfg_insert AFTER INSERT 
    ON public.mfg FOR EACH STATEMENT 
    EXECUTE PROCEDURE mfg_new();
    Die Funktion soll nach einem INSERT eine Funktion ausführen um damit eine Spalte zu befüllen.
    Verwende $$-Quoting, damit dürfte es besser gehen. Dein Problem ist, daß sowohl der Body der Function als auch der String-Parameter ' verwenden. Welch altes Lehrbuch verwendest Du?


    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
    karl_ha ist offline Erfahrener Benutzer
    Registriert seit
    08.03.2009
    Beiträge
    225

    Standard

    Google findet 'leider' alles. Kennst Du ein gutes, welches Trigger behandelt?

  4. #4
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von karl_ha Beitrag anzeigen
    Google findet 'leider' alles. Kennst Du ein gutes, welches Trigger behandelt?
    Hach, ist das soo schwer? Das Handbuch hat ein extra (und umfangreiches) Kapitel, wie man Funktionen erstellt.

    Z.B. hier: PostgreSQL: Documentation: Manuals: Structure of PL/pgSQL oder PostgreSQL: Documentation: Manuals: Declarations

    Und da schaust einfach mal, wie dort Funktionen definiert sind. Hint: achte auf $$ ...

    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

  5. #5
    karl_ha ist offline Erfahrener Benutzer
    Registriert seit
    08.03.2009
    Beiträge
    225

    Standard

    Hallo,

    ich bekomme es leider nicht hin...

    Nach einem Insert soll eine eine Funktion auf eine 3.Spalte durchgeführt werden.

    A B C
    1 1 A+B

    Beispiele gibt es zwar. Hier wird ein Erg aber in eine seperate Tabelle geschrieben.

    Gruß
    Karl

  6. #6
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von karl_ha Beitrag anzeigen
    Hallo,

    ich bekomme es leider nicht hin...

    Nach einem Insert soll eine eine Funktion auf eine 3.Spalte durchgeführt werden.

    A B C
    1 1 A+B

    Beispiele gibt es zwar. Hier wird ein Erg aber in eine seperate Tabelle geschrieben.

    Gruß
    Karl
    Geht es immer noch um die Funktion?

    Tausche in der ersten Zeile nach dem AS das ' gegen $$ und weiter unten vor LANGUAGE das ' auch gegen $$.

    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. Antworten: 28
    Letzter Beitrag: 27.10.2011, 14:38
  2. Frage Trigger in C -> Werte schreiben
    Von Schmole im Forum Trigger und Funktionen
    Antworten: 5
    Letzter Beitrag: 26.03.2010, 18:43
  3. Frage von zwei tabellen in eine zeile schreiben
    Von winfred im Forum SQL
    Antworten: 10
    Letzter Beitrag: 29.12.2008, 17:44
  4. Aus Excel über ODBC in eine OracleDB schreiben
    Von Wudy2000 im Forum externe Schnittstellen
    Antworten: 1
    Letzter Beitrag: 03.11.2006, 18:12
  5. Mit einer Funktion in eine Tabelle schreiben
    Von columbus im Forum PL/pgSQL
    Antworten: 11
    Letzter Beitrag: 23.02.2006, 16:32

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