Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 12545|Risposta: 0

[Fonte] Eccezioni predefinite dal sistema Oracle e eccezioni definite dall'utente

[Copiato link]
Pubblicato su 19/03/2015 09:28:41 | | |
crea tabella stuinfo1
(
       chiave primaria stuid int,
       Stuname Varchar(10) non nullo,
       Stusex Char(2) controllo(Stusex='maschio' o Stusex='femmina'),
       Data di Stubir
);
inserire nei valori di stuinfo ('001', 'Zhang San', 'male', to_date ('1999-1-1', 'yyyy-mm-dd'));
inserire nei valori di stuinfo ('002', 'Reese', 'male', to_date ('1997-12-1', 'yyyy-mm-dd'));
inserire nei valori di stuinfo ('003', 'Wang Wu', 'femmina', to_date ('1995-3-4', 'yyyy-mm-dd'));
inserire nei valori di Stuinfo ('004', 'haha', 'maschi', to_date ('2000-7-5', 'yyyy-mm-dd'));
inserire nei valori di Stuinfo ('005', 'haha', 'maschile', to_date ('1993-7-5', 'yyyy-mm-dd'));


--Eccezioni predefinite del sistema
dichiara
    v_name stuinfo.stuname%type;
inizio
    selezionare Stuname in v_name da Stuinfo;
--eccezione
-- quando too_many_rows allora
-- dbms_output.put_line('I risultati delle query sono ridondanti, non possono essere assegnati');
fine;
--eccezioni definite dall'utente
dichiara
    money_error eccezione;
    Money1 INT := 1000;
    money2 int :=& importo trasferito;
inizio
    se money1-money2 < 0 allora
       raise_application_error (-20001, 'Saldo insufficiente');
       --alzare money_error;
    altrimenti
       dbms_output.put_line('Trasferimento riuscito');
    fine se;
--eccezione
-- quando money_error allora
-- dbms_output.put_line('Equilibrio insufficiente');
fine;

--eccezioni non predefinite
dichiara
    myerror exception;
    pragma exception_init(mioerrore,-1);
inizio
    inserire nei valori di Stuinfo ('001', 'aa', 'femmina', to_date('1995-3-4', 'yyyy-mm-dd'));
Eccezione
    quando myerror allora
        dbms_output.put_line('Violazione del vincolo di unicità della chiave primaria');
fine;

inserire nei valori di stuinfo1 (1,'sdf', 'maschi','');
seleziona * da tb1;
Drop table TB1;
--SQL dinamico
inizio
     esegui immediatamente 'create table tb1(tid int)';
fine;

dichiara
        sqlString varchar2(200);
        tId int:=2;
inizio
        sqlString:='inserire nei valori di tb1 (:1)';

        eseguire immediatamente sqlString usando tId;

fine;


seleziona * da stuinfo;
--Cursore implicito
inizio
        DBMS_OUTPUT. PUT_LINE('Prima di inserire:'|| SQL%ROWCOUNT);
        Aggiorna il set Stuinfo Stusex = 'maschio';
        DBMS_OUTPUT. PUT_LINE('Dopo aver inserito:'|| SQL%ROWCOUNT);
FINE;






Precedente:L'oracolo ottiene le funzioni lunghezza della stringa length() e hengthb()
Prossimo:Configura la VPN in Redhat Enterprise Server 6.3
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com