PostgreSQL: Null-Werte an Funktionen übergeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PostgreSQL: Null-Werte an Funktionen übergeben

    Hallo Freunde von postgreSQL,

    ich habe mir mit pg 7.3.3 eine Funktion geschrieben. Diese Funktion ändert einen Datensatz oder legt einen neuen an. Ich übergebe alle benötigten Felder. Erstes Feld ist der Primärschlüssel. Die Function prüft (IF...THEN...ELSE) ob der erste übergebene Wert ($1= ein NULL-Wert ist. Wenn ja, wird mit den restlichen Daten ein Insert ausgeführt, wenn nein wird ein Update ausgefüht.

    Klappt alles auch soweit ganz toll. Allerdings tritt jedesmal ein Fehler auf, wenn ich versuche einen NULL-Wert zu übergeben ...

    Meine Frage: wie übergebe ich einen NULL-Wert an meine Funktion??

    Hier die Funktion:
    PHP-Code:
    Begin
        
    if $1 is null then
            insert into tbl_buchungen 
    (
            
    buc_von
            
    buc_bis
            
    buc_pause
            
    buc_dat
            
    ma_id )
            
    values($2, $3, $4, $5, $6);
            return $
    1;
        else
            
    update tbl_buchungen set
            buc_von 
    = $2
            
    buc_bis = $3
            
    buc_pause = $4
            
    buc_dat = $5
            
    ma_id = $6
            where buc_id 
    = $1;
            return $
    1;
        
    end if;
    End
    und so rufe ich dat Ding auf:
    PHP-Code:
    select from buchen(2,'7:15','16:20','0:45','2003-13-10',1
    und das geht leider nicht ...
    PHP-Code:
    select from buchen(,'7:15','16:20','0:45','2003-13-10',1
    Bitte helft mir - ich habe keine Ahnung mehr
    Danke!

  • #2
    Re: PostgreSQL: Null-Werte an Funktionen übergeben

    hast du schon versucht, mal direkt NULL (ohne anführungszeichen) als wert zu benutzen?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      yep, habe NULL, IS NULL, ISNULL mit und ohne Anführungszeichen versucht. Auch eine leere Zeichenfolge hat ihn nicht beeindruckt (also '') ... das konnte ich aber noch nachvollziehen, da der Wert als bigint erwartet wird ...

      Hast du noch andere Ideen ?! Bin mittlerweile für alles zu haben ...

      Danke!

      Kommentar

      Lädt...
      X