je fais de temps en temps quelque chose comme ....PLW-06002 code inaccessible lors de l'utilisation de NULL;
IF very-likely-condition THEN
NULL;
ELSE
<<code to deal with the unlikely condition>>
END IF;
Ce qui donne un code injoignable PLW-06002 avertissement du compilateur PL/SQL sur la ligne NULL atfer la FI.
Maintenant, bien que je puisse clairement ignorer l'avertissement et/ou refactoriser l'instruction IF pour être un NON, je pense qu'il se lit mieux de cette façon.
Est-ce que quelqu'un sait qu'il y a une autre façon d'insérer une instruction vide afin que je n'obtienne pas l'avertissement du compilateur?
EDIT:
Je ne dis pas que je le fais souvent ... en fait, je le ferais très rarement. Mais parfois je pense que ça se lit mieux de cette façon.
EDIT 2:
Plus il y a d'autres scénarios où il peut être valable de le faire (par exemple en ignorant une erreur spécifique dans un bloc d'exception). J'ai seulement utilisé la FI comme un exemple simple pour illustrer le point.
Quel niveau optimiseur pl/sql utilisez-vous? (sélectionnez le nom, la valeur de v $ parameter où name = 'plsql_optimize_level' pour vérifier) Oracle est probablement en train de refactoriser le code dans le format {NOT ...} pour vous – dpbradley
Niveau 2. Cela pourrait bien être dans le cas de un IF, mais j'aimerais quand même savoir s'il existe une solution pour d'autres cas (par exemple ignorer certaines erreurs dans un bloc EXCEPTION) – cagcowboy
Cela a une certaine odeur, mais vous pouvez créer une procédure NOP avec la valeur NULL et l'utiliser à la place de NULL dans le code parent - de cette façon, vous ne verrez que l'avertissement lorsque vous créez NOP - donnera à votre PL/SQL une sorte de langage d'assemblage sentir :) – dpbradley