Ergebnis 1 bis 4 von 4

Thema: Inhalt von NEW splitten/extrahieren

  1. #1
    edv_rs ist offline Neuer Benutzer
    Registriert seit
    30.03.2006
    Beiträge
    9

    Standard Inhalt von NEW splitten/extrahieren

    Hallo, gibt es eine Möglicheit den Wert von NEW in einer Triggerfunktion zu splitten? Wenn ich NEW speichere steht in der Tabelle: (10,Komma,9999-12-31) Ich würde nun gerne nur die erste (hier die 10) Zahl für ein auszuführendes SQL-Statement "extrahieren". Bisher habe ich es mit split_part(), position() in substring() probiert. Die Tabelle und Triggerfunktion liegen NICHT im public-Schema. Gibt es da eine Möglichkeit dieses umzusetzen? Gruß und Dank Rainer

  2. #2
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    525

    Standard

    So richtig verstehe ich die Frage nicht. NEW ist doch ein Record der alle Spalten enhält, also mit NEW.column_1 kannst Du doch direkt auf die erste Spalte zugreifen...

    Kannst Du die Triggerfunktion mal posten, ohne den Code zu sehen wird es echt schwierig..
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

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

    Standard

    Zitat Zitat von edv_rs Beitrag anzeigen
    Hallo, gibt es eine Möglicheit den Wert von NEW in einer Triggerfunktion zu splitten? Wenn ich NEW speichere steht in der Tabelle: (10,Komma,9999-12-31) Ich würde nun gerne nur die erste (hier die 10) Zahl für ein auszuführendes SQL-Statement "extrahieren". Bisher habe ich es mit split_part(), position() in substring() probiert. Die Tabelle und Triggerfunktion liegen NICHT im public-Schema. Gibt es da eine Möglichkeit dieses umzusetzen? Gruß und Dank Rainer
    Du kannst auf die einzelnen Felder von NEW über deren Namen zugreifen.

    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

  4. #4
    edv_rs ist offline Neuer Benutzer
    Registriert seit
    30.03.2006
    Beiträge
    9

    Standard

    Hallo,
    das mit dem Feldnamen ist mir bekannt, aber den möchte ich variabel halten. Daher kam mir die Idee den Inhalt von NEW in eine Variable zu übernehmen (beim Speichern klappt das ja auch) und dann den ersten Wert zu ermitteln. Die Funktionen führen zum Fehler.

    Code:
    CREATE OR REPLACE FUNCTION lwa.last_change()
      RETURNS trigger AS
    $BODY$
    DECLARE
      vPK INTEGER;
      vXY TEXT;
    BEGIN
    vXY = NEW;
    vPK = position(',' in vXY);
    
    if (TG_OP = 'UPDATE') THEN
    INSERT INTO lwa.tupda(pk_upda,nutzer,datum,zeit,tabelle,feld,wa,wn,pk) VALUES((SELECT MAX(pk_upda)+1 FROM lwa.tupda),current_user,now(),now(),TG_ARGV[0],TG_ARGV[1],OLD,NEW,vXY);
    else
    INSERT INTO lwa.tupda(pk_upda,nutzer,datum,zeit,tabelle,feld,wa,wn,pk) VALUES((SELECT MAX(pk_upda)+1 FROM lwa.tupda),current_user,now(),now(),TG_ARGV[0],TG_ARGV[1],'',NEW,vXY);
    END IF;
    RETURN NEW;
    END;
    $BODY$
      LANGUAGE plpgsql VOLATILE;
    Gruß und Dank Rainer

Ähnliche Themen

  1. Inhalt der Datenbank via Filesystem sichern
    Von Marlon im Forum Konfiguration
    Antworten: 1
    Letzter Beitrag: 09.08.2011, 21:48
  2. LINESTRING's an den Kreuzungen splitten
    Von stargaizer im Forum PostGIS
    Antworten: 5
    Letzter Beitrag: 04.02.2011, 10:03
  3. osm in PostGIS? dazu später Linien splitten
    Von ZwergMD im Forum PostGIS
    Antworten: 2
    Letzter Beitrag: 03.05.2010, 11:39
  4. Problem Linien auftrennen/splitten
    Von marcm im Forum Trigger und Funktionen
    Antworten: 4
    Letzter Beitrag: 17.06.2009, 12:30
  5. Multilinestring splitten
    Von Nuadu im Forum PostGIS
    Antworten: 3
    Letzter Beitrag: 28.03.2009, 19:48

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