sous-requête scalaire dans l'instruction if Condition en PL/SQL

J'ai une Instruction if bloc similaire à ci-dessous qui échoue avec l'erreur
PLS-00103: Rencontré le symbole "SÉLECTIONNEZ" lorsque attend l'une des opérations suivantes....

Begin
    If (select count(*) from Table1) > 0 then
        dbms_output.put_line('Test');
    end if;
end;

J'ai même Cas de déclaration qui fonctionne très bien

select 
case 
    when (select count(*) from Table1) > 0
        then 2
    else
        1
end
from dual

De ce que j'ai lu dans la Documentation d'Oracle le si et lorsque le support d'une Expression Booléenne, toutes les idées que les sous-requêtes sont prises en charge dans des Conditions Si.

Remarque: Les Déclarations ont été simplifiées, je ne suis pas vraiment à obtenir le nombre de l'ensemble de la table, donc pas de l'optimisation des suggestions s'il vous plaît

InformationsquelleAutor Dinesh Manne | 2009-05-01