Ergebnis 1 bis 7 von 7

Thema: Unbekannter Wert in einem String

  1. #1
    serverfreak1982 ist offline Benutzer
    Registriert seit
    02.03.2008
    Ort
    Köln
    Beiträge
    37

    Standard Unbekannter Wert in einem String

    Hallo zusammen,

    bei nachfolgend zitierter Funktion (gekürzt) habe ich das Problem, dass bei der Kundennummer immer '10129' rauskommt, egal welchen Parameter ich übergebe.

    Ich sehe den Fehler einfach nicht.
    Welches zweite Paar Augen kann mir helfen?


    Code:
    CREATE OR REPLACE FUNCTION "getFreeQuota"(uid integer)
      RETURNS character varying AS
    $BODY$
    
    declare
        uid alias for $1;
        belongsto integer := 0;
        kdnr character varying;
    
    begin
        select into belongsto "kscLogin"."belongsto" from "kscLogin" where uid = uid;
        IF (belongsto != 1) THEN
            select into kdnr "kscStammdaten"."KdNr"::character varying from "kscStammdaten" where uid = belongsto;
        ELSE
            select into kdnr "kscStammdaten"."KdNr"::character varying from "kscStammdaten" where uid = uid;
        END IF;
    
        return kdnr;    
    end;
    
    $BODY$
      LANGUAGE plpgsql VOLATILE
      COST 100;
    Geändert von serverfreak1982 (29.11.2010 um 22:35 Uhr)
    Webhosting? Domains? => Westenberg + Küppers GbR

  2. #2
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Schwer zu sagen. Was ergeben denn die einzelnen Anfragen mit diesen Parametern?

    RAISE NOTICE kann dir hier auch noch weiterhelfen.
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  3. #3
    serverfreak1982 ist offline Benutzer
    Registriert seit
    02.03.2008
    Ort
    Köln
    Beiträge
    37

    Standard

    Einzeln und seperat ausgeführt sind die Abfragen in Ordnung.

    RAISE NOTICE muss ich mir erstmal ansehen.
    Webhosting? Domains? => Westenberg + Küppers GbR

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

    Standard

    where uid = uid
    Da dürfte Dein Problem liegen.

    Verwende einen anderen Namen für den Parameter, dann sollte es klappen. So wird nämlich immer die Spalte der Tabelle referenziert, nicht der Parameter

    P.S.: Warum tust Du Dir das mit der Groß/Kleinschreibung und den nervigen Quotes eigentlich an?
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

  5. #5
    serverfreak1982 ist offline Benutzer
    Registriert seit
    02.03.2008
    Ort
    Köln
    Beiträge
    37

    Standard

    Du bist der Beste
    Sowas offensichtliches sieht man mit der Zeit einfach nicht mehr

    Mein Kollege wollte die Bezeichner gerne so haben.
    Webhosting? Domains? => Westenberg + Küppers GbR

  6. #6
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Öhm, wie Recht der castorp doch hat - habe ich auch übersehen ;-)
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

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

    Standard

    Zitat Zitat von serverfreak1982 Beitrag anzeigen
    Mein Kollege wollte die Bezeichner gerne so haben.
    Spätestens mit dem Wechsel auf 9.0 klappt das nicht mehr. Da schmeisst Postgres dann einen Fehler wenn ein Parameter den gleichen Namen hat wie eine Spalte Deiner Abfrage.

    Übrigens: das "uid alias for $1;" kannst Du Dir sparen.
    Es reicht dem Parameter in der Funktionsdefinition einen Namen zu geben.
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

Ähnliche Themen

  1. Problem Aus einem String den ersten Eintrag entfernen
    Von tme2525 im Forum PL/pgSQL
    Antworten: 9
    Letzter Beitrag: 02.08.2010, 19:32
  2. Bestimmte Chars in einem String zählen
    Von Sigh im Forum Trigger und Funktionen
    Antworten: 2
    Letzter Beitrag: 21.04.2009, 11:02
  3. Frage In mehrere Tabellen nach einem String suchen
    Von Deskjet87 im Forum SQL
    Antworten: 7
    Letzter Beitrag: 16.04.2009, 11:19
  4. Antworten: 4
    Letzter Beitrag: 21.02.2009, 13:34
  5. PLZ aus einem string raussuchen
    Von hypeolo im Forum Trigger und Funktionen
    Antworten: 6
    Letzter Beitrag: 25.06.2008, 10:38

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