musíte mít na paměti, že na jakékoli dané úrovni CASE statement, jakmile první, když se podmínka vyhodnotí na TRUE, je příkaz THEN zpracován a skočí na konec.
netestujete jediné pole pro pět různých podmínek; testujete 5 různých polí pro jednu ze dvou možných podmínek. Existují dva způsoby, jak to zvládnout. Buď můžete vytvořit vnořený příkaz CASE 5 úrovně hluboko (s dalším vnořením na každé úrovni až 5, což znamená mnoho opakovaných příkazů CASE na různých úrovních), nebo jej můžete vyrovnat tím, že vaše condtions pokryjí všechna pole 5 a uspořádají je tak, aby existovaly vzájemně se vylučující kombinace pro každou, např.,
případ
když je NULL a je NULL a je NULL a je NULL a je NULL, pak
když není NULL a je NULL a je NULL a je NULL a je NULL
* * * *
konec
oba přístupy budou pravděpodobně fungovat přibližně stejně, takže je jen otázkou, která struktura je pro vás jednodušší koncepčně žonglovat. Mě, považuji hnízdění za 3 úrovně za docela matoucí.
podle mého počtu existuje 32 různých kombinací NULL / nenulových stavů pro 5 polí (2^5th), takže pomocí ploché metody byste při příkazech potřebovali 32. Každý příkaz pak může potřebovat více instrukcí, např.
hodně štěstí