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 ;
|