você precisa ter em mente que, em qualquer nível de uma declaração de caso, uma vez que o primeiro quando a condição é avaliada como verdadeira, a instrução THEN é processada e pula para o fim.

você não está testando um único campo para cinco condições diferentes; você está testando 5 campos diferentes para uma das duas condições possíveis. Existem duas maneiras de lidar com isso. Você pode criou um CASO aninhadas instrução 5 níveis de profundidade (com mais de nidificação em cada nível 5, o que significa que muitos repetido CASO de instruções em vários níveis), ou você pode deitá-la fora fazendo suas condições de velejo QUANDO abranger todos os 5 campos, e ordenando-os de tal forma que não mutuamente exclusivas combinações, para cada um, QUANDO, por exemplo,,

CASO
QUANDO FOR NULL E is NULL E is NULL E is NULL E is NULL THEN
QUANDO NÃO É NULL E is NULL E is NULL E is NULL E is NULL, em SEGUIDA,
* * * *

FIM

Qualquer abordagem, provavelmente, irá realizar sobre o mesmo, então é só uma questão de qual estrutura é mais fácil para você malabarismos conceitualmente. Eu, acho que aninhar além de 3 níveis é bastante confuso.

pela minha contagem, existem 32 combinações diferentes de Estados nulos/não nulos para os 5 Campos (2^5º), portanto, usando o método flat, você precisaria de 32 instruções WHEN. Cada instrução THEN pode precisar ter várias instruções, por exemplo, e e E.

boa sorte

Deixe uma resposta

O seu endereço de email não será publicado.