Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 12545|Répondre: 0

[Source] Exceptions prédéfinies par système Oracle et exceptions définies par l’utilisateur

[Copié le lien]
Publié sur 19/03/2015 09:28:41 | | |
Create Table stuinfo1
(
       clé primaire d’int,
       Stuname Varchar(10) non nul,
       Stusex Char(2) vérification (Stusex='mâle' ou Stusex='Femelle'),
       Date de stubir
);
insérer dans les valeurs de stuinfo ('001', 'Zhang San', 'male', to_date ('1999-1-1', 'yyyy-mm-dd')) ;
insérer dans les valeurs de stuinfo ('002', 'Reese', 'male', to_date ('1997-12-1', 'yyyy-mm-dd')) ;
insérer dans les valeurs stuinfo ('003', 'Wang Wu', 'female', to_date ('1995-3-4', 'yyy-mm-dd')) ;
insérer dans les valeurs de stuinfo ('004', 'haha', 'male', to_date ('2000-7-5', 'yyyy-mm-dd')) ;
insérer dans les valeurs de stuinfo ('005', 'haha', 'male', to_date ('1993-7-5', 'yyyy-mm-dd')) ;


--Exceptions prédéfinies système
déclarer
    v_name stuinfo.stuname %type ;
Début
    sélectionner Stuname en v_name depuis Stuinfo ;
--exception
-- quand too_many_rows alors
-- dbms_output.put_line (« Les résultats de la requête sont redondants, ne peuvent pas être assignés ») ;
fin ;
--exceptions définies par l’utilisateur
déclarer
    money_error exception :
    Money1 Int := 1000 ;
    money2 int :=& montant transféré ;
Début
    si money1-money2 < 0 alors
       raise_application_error (-20001, « Solde insuffisant ») ;
       --relever money_error ;
    sinon
       dbms_output.put_line ('Transfert réussi') ;
    fin si ;
--exception
-- quand money_error alors
-- dbms_output.put_line (« Insuffisance d’équilibre ») ;
fin ;

--exceptions non prédéfinies
déclarer
    myerror exception ;
    pragma exception_init(monerreur,-1) ;
Début
    insérer dans les valeurs de Stuinfo ('001', 'aa', 'female', to_date('1995-3-4', 'yyyy-mm-dd')) ;
Exception
    quand myerror alors
        dbms_output.put_line (« Violation de la contrainte d’unicité de la clé primaire ») ;
fin ;

insérer dans les valeurs de stuinfo1 (1, « sdf », « mâle », ») ;
sélectionner * à partir de tb1 ;
table de chute à tb1 ;
--SQL dynamique
Début
     exécuter immédiatement « créer la table tb1(tid int) » ;
fin ;

déclarer
        sqlString varchar2(200) ;
        tId int :=2 ;
Début
        sqlString :='insérer dans les valeurs tb1 ( :1)' ;

        exécuter immédiatement sqlString en utilisant tId ;

fin ;


sélectionner * à partir de stuinfo ;
--Curseur implicite
Début
        DBMS_OUTPUT. PUT_LINE('Avant d’insérer :'|| SQL %ROWCOUNT) ;
        mise à jour Stuinfo Set Stusex = « mâle » ;
        DBMS_OUTPUT. PUT_LINE('Après l’insertion :'|| SQL %ROWCOUNT) ;
FIN ;






Précédent:L’oracle obtient les fonctions longueur de chaîne longueur() et hengthb()
Prochain:Configurez le VPN dans Redhat Enterprise Server 6.3
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com