ローカルvaribaleがA、B、C、Dなどと等しくないかどうかをチェックするために複数の条件をチェックする必要があります。明らかに実際の値は私がここで言及した値とは異なります。 、現実の世界では複数の条件またはif else文の条件最良の方法oracle pl sql
IF(condition1 AND (myLocalVAr NOT IN ('A','B','C','D','E','F'))) THEN
----
--
END IF;
または
IF(condition1 AND (myLocalVAr <> 'A' AND myLocalVAr <> 'B' AND myLocalVAr <> 'C'--'D'--'E'--'F' --so on))) THEN
----
--
END IF;
「val(1、2、3)にない」とは、あなたが考えるように「val <> 1 AND val <> 2 and val <> 3'」を意味します。それ以外の「NOT IN」バージョンは読み込み、書き込み、保守がずっと簡単で、両方のフォームはデータベースエンジンによって同じ方法で処理されるため、「NOT IN」バージョンを好むべきです。 – mathguy
ああああ私はORを書いて忘れてしまった。あなたは正解です。ORの代わりにANDを書いてください。 –
われわれが知っている限り、PL/SQLコンパイラはすでに最初のバージョンをもう1つのバージョンにもう一度書き直しています。私はそれが最も効率的なことは何でもしていると確信しています、そして、おそらく、明確で、正しい、保守可能なコードに焦点を当てるべきです。 btwではif条件のまわりに角括弧はありません。 –