joe_ Geschrieben 23. April 2009 Teilen Geschrieben 23. April 2009 Hallo, kann ich mir bei PL/SQL einen Variablennamen dynamisch in einer Schleife aufbauen? Beispiel: Ich habe 3 Variablen: tag1, tag2, tag3 In einer Schleife möchte ich in der WHERE Klausel eines SQL statements beim ersten Durchlaufen auf tag1 vergleichen, beim nächsten Durchlauf auf tag2 etc. Ich hätte mir das so gedacht: 1 Laufvariable count ... WHERE stunde = tag||count (--> sollte für ihn tag1 bedeuten) Wie könnte man soetwas lösen? Danke Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dbwizard Geschrieben 23. April 2009 Teilen Geschrieben 23. April 2009 Hallo, kann ich mir bei PL/SQL einen Variablennamen dynamisch in einer Schleife aufbauen? Beispiel: Ich habe 3 Variablen: tag1, tag2, tag3 In einer Schleife möchte ich in der WHERE Klausel eines SQL statements beim ersten Durchlaufen auf tag1 vergleichen, beim nächsten Durchlauf auf tag2 etc. Ich hätte mir das so gedacht: 1 Laufvariable count ... WHERE stunde = tag||count (--> sollte für ihn tag1 bedeuten) Wie könnte man soetwas lösen? Danke - Du wirst Dynamisches SQL benutzen müssen...Allerdings würde ich solch etwas nur machen, wenn wirklich nichts anderes mehr übrigbleibt. (Stichwort Bindvariablen, Loop...) Gruss Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
joe_ Geschrieben 26. April 2009 Autor Teilen Geschrieben 26. April 2009 Danke für deine Antwort. Ich habe nun versucht das Problem anders zu lösen. Leider habe ich noch eine weitere wesentliche Frage: Ich frage nun in einer Schleife einige Daten ab. Manchmal kann es dabei vorkommen, dass eine leere Spalte abgefragt wird, also eine no_data_found exception auftritt. Wie kann ich es anstellen, dass die Schleife nicht abgebrochen wird und die no_data_found exception ignoriert wird bzw halt einfach ein Leerstring zurückgegeben wird? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mme Geschrieben 29. April 2009 Teilen Geschrieben 29. April 2009 indem du die Zeile in der die Exception fliegen kann in einen eigenen Block setzt und mit einer Exception explizit abfängst... Beispiel: ... begin ... if ... then ... begin deine_Operation; exception when deine_exception then null; end; ... end if; ... end; Wenn bei deine_Operation ein Fehler kommt geht er direkt in den zugehörigen Exceptionblock. Dort wird null ausgeführt wenn es sich um die von dir angegebene Exception handelt (z.B: no_data_found). Ist es eine andere Exception geht er weiter in den Exceptionblock des darüber liegenden Blocks, wenn der eine hat. Wenn nicht bekommt der Anwender den Fehler... 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.