Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 12545|Svar: 0

[Källa] Oracle-systemets fördefinierade undantag och användardefinierade undantag

[Kopiera länk]
Publicerad på 2015-03-19 09:28:41 | | |
skapa tabell stuinfo1
(
       Stud int primärnyckel,
       stuname varchar(10) inte null,
       Stusex Char(2) Check (Stusex='man' eller Stusex = 'kvinna'),
       Stubir-datum
);
info-värdena ('001', 'Zhang San', 'male',to_date ('1999-1-1','yyyy-mm-dd'));
infota i stuinfo-värden ('002', 'Reese', 'male', to_date ('1997-12-1','yyyy-mm-dd'));
infota i stuinfo-värden ('003', 'Wang Wu', 'female', to_date ('1995-3-4', 'yyyy-mm-dd'));
info-värden ('004', 'haha', 'man',to_date ('2000-7-5','yyyy-mm-dd'));
infoga i stuinfo-värden ('005', 'haha', 'man', to_date ('1993-7-5', 'yyyy-mm-dd'));


--System fördefinierade undantag
Förklara
    v_name stuinfo.stuname%type;
Börja
    Välj Stuname i v_name från Stuinfo;
--undantag
-- när too_many_rows då
-- dbms_output.put_line('Frågeresultat är redundanta, kan inte tilldelas');
slut;
--användardefinierade undantag
Förklara
    money_error undantag;
    money1 int := 1000;
    money2 int :=& överföringsbelopp;
Börja
    Om pengar1-pengar2 < 0 så
       raise_application_error (-20001, 'Otillräckligt saldo');
       --höj money_error;
    annars
       dbms_output.put_line('Överföring lyckad');
    slut om;
--undantag
-- när money_error då
-- dbms_output.put_line('Otillräckligt saldo');
slut;

--icke-fördefinierade undantag
Förklara
    myerror-undantag;
    Pragma exception_init(Myerror,-1);
Börja
    info-värden ('001','aa','female',to_date('1995-3-4','yyyy-mm-dd'));
undantag
    när myerror då
        dbms_output.put_line('Brott mot primärnyckelns unikhetsbegränsning');
slut;

infoga i stuinfo1-värden (1,'SDF','man','');
Välj * från TB1;
Drop table TB1;
--dynamisk SQL
Börja
     utför omedelbart 'skapa tabell TB1(TID, int)';
slut;

Förklara
        sqlString varchar2(200);
        tId int:=2;
Börja
        sqlString:='infoga i tb1-värden (:1)';

        kör omedelbar sqlString med tId;

slut;


Välj * från StuInfo;
--Implicit markör
Börja
        DBMS_OUTPUT. PUT_LINE('Innan insättning:'|| SQL%ROWCOUNT);
        Uppdatera Stuinfo set Stusex = 'man';
        DBMS_OUTPUT. PUT_LINE('Efter insättning:'|| SQL%ROWCOUNT);
SLUT;






Föregående:Oraklet får stränglängdsfunktionerna length() och hengthb()
Nästa:Konfigurera VPN i Redhat Enterprise Server 6.3
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com