Ganymed Geschrieben 24. September 2003 Teilen Geschrieben 24. September 2003 Hallo! Ich bin ein absoluter Newbie in PL/SQL und hänge schon bei jeder Kleningkeit fest. Ist bestimmt alles für euch ein Klacks (hoffe ich) Also: Ich habe folgende PL/SQL Anweisung: IF Vorname<>"" AND Nachname<>"" THEN SELECT ID INTO numPersonID FROM adr_person WHERE FirstName=Vorname AND LastName=Nachname; ELSIF Vorname ="" THEN SELECT ID INTO numPersonID FROM adr_person WHERE LastName=Nachname; ELSIF Nachname = "" THEN SELECT ID INTO numPersonID FROM adr_person WHERE FirstName=Vorname; END IF; In der Fett markierten Zeile hält der Compiler an und sagt, dass mein Befehl nicht korrekt beendet wurde... Fehlt da irgendwo ein Semikolon??? Laut meinem Buch hier neben mir stimmt das irgendwie... Oder ich steh auf dem Schlauch... Ausserdem bekomme ich folgende Fehlermeldung: ORA-00604: error occured ar recursive SQL Level 1 ORA-01400: cannot insert NULL into ("SYS". "OBJ$", "Name") Was will der von mir??? Ich will doch nichts Inserten... :confused: :confused: :confused: Und da ich gerad dabei bin (): Wie frage ich nach einem Leeren Feld in Oracle ab??? Also ich hab mal einen Vornamen gesichert und mal keinen. (Daher auch dieses IF-Konstrukt). Mit einem einfachen Where FirstName="" oder einem FirstName=NULL geht es nicht. Die IF Anweisung bekommt aus einem Programm den Namen geliefert (also auch "leere" Namen)... Wieso reicht das Erste Statement SELECT ID INTO numPersonID FROM adr_person WHERE FirstName=Vorname AND LastName=Nachname; nicht? Wenn ich z.B. keinen Vornamen habe und diese Abfrage ausführe, bekomme ich kein Ergebnis... Fragen über Fragen, die mich alle verwirren, da es damals unter Access ging... :confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pinhead Geschrieben 24. September 2003 Teilen Geschrieben 24. September 2003 Hi, das sind ja erstmal eine Menge Fragen So spontan kann ich dir nur das beantworten : Wie frage ich nach einem Leeren Feld in Oracle ab Null fragt man ab feldname is null Beim Rest bin ich auch erstmal ratlos aber ich denke mal weiter drüber nach Gruß Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Ganymed Geschrieben 24. September 2003 Autor Teilen Geschrieben 24. September 2003 Hey super, danke! Das mit dem IS NULL versuche ich direkt mal! Das mit dem ELSE-Abbruch habe ich jetzt vor 2min herausgefunden: *An den Kopf schlag* Man darf keine " setzen, sondern man muss ' setzen... Hab ich aber auch nur durch ausprobieren gefunden... Nachtrag: Das mit mit IS NULL funktioniert! Super! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
DerMatze Geschrieben 24. September 2003 Teilen Geschrieben 24. September 2003 Original geschrieben von Ganymed IF Vorname<>"" AND Nachname<>"" THEN SELECT ID INTO numPersonID FROM adr_person WHERE FirstName=Vorname AND LastName=Nachname; [B]ELSIF Vorname ="" THEN[/b] SELECT ID INTO numPersonID FROM adr_person WHERE LastName=Nachname; ELSIF Nachname = "" THEN SELECT ID INTO numPersonID FROM adr_person WHERE FirstName=Vorname; END IF; ORA-00604: error occured ar recursive SQL Level 1 ORA-01400: cannot insert NULL into ("SYS". "OBJ$", "Name") Was will der von mir??? Ich will doch nichts Inserten... :confused: :confused: :confused: Also, erstmal würde ich anstatt der "" '' nehmen (single Quotes). Außerdem fragst du nach leer oder nach null ab ?? wenn du nach Null fragst, benutze "is null" edit: Ich liebe Probleme, die sich von selbst lösen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.