Oracle-PL-SQL FALL in die WHERE-Klausel

Ich weiß, ich könnte wahrscheinlich dies erreichen, indem Sie leicht setzen die zwei Anweisungen in einer CASE-Anweisung selbst, aber ich bin neu in SQL und versuchen zu lernen, zu schreiben, das die effiziente und intelligente Weise, ohne Duplizierung von Logik, und so dass ich vermute, vielleicht gibt es einen Weg wie ich, können Sie eine where-Bedingung line on oder off im Grunde.

Habe ich die folgende Anweisung(was nicht funktioniert btw, fehlt ein Stichwort-es sagt):

      OPEN O_CURSOR FOR
       SELECT S.STORE_NO_4_DIGIT AS STORE_NO, S.STORE_NAME
         FROM RFS.RF_STORE S
        WHERE S.TYPE_CODE != 'W'
        AND
            CASE I_CAN_BE_CLOSED
                WHEN 0 THEN
                S.CLOSE_DATE IS NULL
            END                
     ORDER BY S.STORE_NO_4_DIGIT;

Gibt es zwei Fälle auf der Grundlage der input-variable I_CAN_BE_CLOSED, die Werte 0 oder 1.

In einem Fall, den ich möchte, um ihm zu erlauben, zurückzukehren Filialen nur noch mit NULL CLOSE_DATES, und in dem anderen Fall will ich es zurückgeben(beide schließen und die nicht-Schließung von Filialen).

Schreibe einen Kommentar