Announcement

Collapse
No announcement yet.

select case when...then...end funzt nicht in Forms6i

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • select case when...then...end funzt nicht in Forms6i

    hallo oracle-entwickler,

    ich bin neu und hoffe hier eine antwort zu finden. ich programmiere auf einer oracle 9.2.0.4.0 db mit forms6i und sql-plus release 8.0.6.0.0. heute wollte ich das erste mal die "neue" case-funktion in einem sql-cursor ausprobieren und siehe da, die abfrage wird in sql-plus einwandfrei und mit dem gewünschten ergebnis ausgeführt und forms6i liefert mir einen kompilerfehler. kann mir dies jemand bestätigen oder differiert die syntax in forms6i zu sql-plus ?

    danke
    k.k.

    p.s.: habe es mit forms6i ohne patches und mit aktuellen patchsets ausprobiert --> gleiches ergebnis !

  • #2
    Hallo k.k.,

    das Problem mit der "case-funktion" kenne ich aus dem PL/SQL Umfeld. Da <b>case</b> in PL/SQL und damit auch in Forms ein reserviertes Wort ist, hat der Compiler damit ein Problem (nehme ich mal an .
    Ich hab mir bisher immer damit beholfen: Das komplette SQL in eine View packen und dann nur ein select * from view where meinebedingung im PL/SQL bzw. Forms ausführen. Wenn das (aus welchen Gründen auch immer) nicht machbar ist, dann bleibt wahrscheinlich nur noch das Package dbms_sql für dynamisches SQL übrig.
    Vielleicht hilft auch (ich hab es noch nicht probiert), das SQL in eine VARCHAR2 Variable packen und den Cursor dann mit open meinCursor as meineVariable; zu öffnen. (Hab ich aber wie gesagt noch nicht ausprobiert)

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      hallo falk,

      danke für die antwort. freut mich zu hören, dass es nicht an mir liegt ich habe das 'case' einfach mit 'select decode(...' umgangen, ist ja auch nichts anderes wie eine 'wenn dann sonst'-funktion. das mit der varchar2-cursor-variable ist auch ne idee. das mit der view ist mir etwas zu umständlich für ein "einfaches" select und adminrechte hab ich auch nicht in der db.

      gruß
      kevi

      Comment

      Working...
      X