du måste komma ihåg att när den första när villkoret utvärderas till TRUE, behandlas THEN-uttalandet och hoppar till slut.

du testar inte ett enda fält för fem olika förhållanden; du testar 5 olika fält för en av två möjliga förhållanden. Det finns två sätt att hantera detta. Antingen kan du skapa ett kapslat fall uttalande 5 nivåer djupt (med ytterligare häckning på varje nivå ner till 5, vilket betyder många upprepade fall uttalanden på olika nivåer), eller så kan du platta ut det genom att göra din när condtions täcker alla 5 fält, och beställa dem på ett sådant sätt att det ömsesidigt exklusiva kombinationer för varje När, t. ex.,

fall
när är NULL och är NULL och är NULL och är NULL och är NULL då
när när är inte NULL och är NULL och är NULL och är NULL då
* * * *

END

antingen tillvägagångssätt kommer förmodligen att utföra ungefär samma, så det är bara en fråga om vilken struktur som är lättare för dig att jonglera konceptuellt. Jag tycker att det är ganska förvirrande att bo över 3 nivåer.

enligt min räkning finns det 32 olika kombinationer av NULL / non-NULL-tillstånd för de 5 fälten (2^5th), så med den platta metoden skulle du behöva 32 När uttalanden. Varje sedan uttalande kan behöva ha flera instruktioner, t. ex., och och och .

lycka till

Lämna ett svar

Din e-postadress kommer inte publiceras.