2017-09-06 1 views

Répondre

0
Ce

est le moyen le plus simple de soulever une exception sur mesure PL/SQL:

begin 
    if p_check not in ('Ok', 'Not Ok') then 
     raise_application_error(-20999, 
      'Invalid value for CHECK '|| p_check); 
    end if; 
    .... 

numéros pour les exceptions définies par l'utilisateur doit être comprise entre -20999 à -20000. Incidemment, vous décrivez check comme une "colonne". Les exceptions PL/SQL sont pour les variables et les paramètres. Si vous voulez réellement valider une colonne de table, vous avez besoin d'une contrainte de vérification:

alter table whatever 
    add constraint col23_ck 
     check (col23 in ('Ok', 'Not Ok')); 
0

Quelque chose comme ce qui suit?

ALTER TABLE [TableName] 
ADD CONSTRAINT [CheckName] CHECK (Check IN ('Ok', 'Not Ok')); 

Cela soulèvera une erreur DB si une autre valeur est entrée dans la colonne,

Plus d'informations ici: https://www.w3schools.com/sql/sql_check.asp