du skal huske på, at på et givet niveau af en CASE statement, når den første, når betingelsen evalueres til sand, behandles den daværende sætning og springer til slut.

du tester ikke et enkelt felt for fem forskellige betingelser; du tester 5 forskellige felter for en af to mulige betingelser. Der er to måder at håndtere dette på. Enten kan du oprette en indlejret sag erklæring 5 niveauer dyb (med yderligere indlejring på hvert niveau ned til 5, hvilket betyder mange gentagne sag udsagn på de forskellige niveauer), eller du kan flade det ud ved at gøre din når condtions dækker alle 5 felter, og bestille dem på en sådan måde, at der gensidigt eksklusive kombinationer for hver når, f. eks.,

sag
hvornår er NULL og er NULL og er NULL og er NULL og er NULL derefter
hvornår er ikke NULL og er NULL og er NULL og er NULL derefter
* * * *

END

enten tilgang vil sandsynligvis udføre omtrent det samme, så det er bare et spørgsmål om, hvilken struktur der er lettere for dig at jonglere konceptuelt. Mig, jeg finder nesting ud over 3 niveauer for at være ret forvirrende.

ved min optælling, der er 32 forskellige kombinationer af NULL/ikke-NULL stater for de 5 felter (2^5th), så ved hjælp af den flade metode, ville du brug for 32 når udsagn. Hver derefter erklæring skal muligvis have flere instruktioner, f .eks.

held og lykke

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.