Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 12545|Svar: 0

[Kilde] Oracle-systemets foruddefinerede undtagelser og brugerdefinerede undtagelser

[Kopier link]
Opslået på 19/03/2015 09.28.41 | | |
Opret tabel stuinfo1
(
       stuid int primærnøgle,
       stuname varchar(10) ikke null,
       Stusex Char(2) Tjek(Stusex='mand' eller Stusex='Kvinde'),
       Stubir-dato
);
indsæt i stuinfo-værdier ('001', 'Zhang San', 'male',to_date ('1999-1-1','yyyy-mm-dd'));
indsæt i stuinfo-værdier ('002', 'Reese', 'male',to_date ('1997-12-1','yyyy-mm-dd'));
indsæt i stuinfo-værdier ('003', 'Wang Wu', 'female', to_date ('1995-3-4', 'yyyy-mm-dd'));
indsæt i stuinfo-værdier ('004', 'haha', 'male', to_date ('2000-7-5','yyyy-mm-dd'));
indsæt i stuinfo-værdier ('005', 'haha', 'male', to_date ('1993-7-5', 'yyyy-mm-dd'));


--System foruddefinerede undtagelser
Erklære
    v_name stuinfo.stuname%type;
Begynd
    vælg Stuname i v_name fra Stuinfo;
--undtagelse
-- når too_many_rows så
-- dbms_output.put_line('Forespørgselsresultater er overflødige, kan ikke tildeles');
slut;
--brugerdefinerede undtagelser
Erklære
    money_error undtagelse;
    money1 int := 1000;
    money2 int :=& overførselsbeløb;
Begynd
    Hvis penge1-penge2 < 0, så
       raise_application_error (-20001, 'Utilstrækkelig saldo');
       --raise money_error;
    ellers
       dbms_output.put_line('Overførsel succesfuld');
    slut hvis;
--undtagelse
-- når money_error så
-- dbms_output.put_line('Utilstrækkelig saldo');
slut;

--ikke-foruddefinerede undtagelser
Erklære
    MyError-undtagelse;
    pragma exception_init(min fejl,-1);
Begynd
    indsæt i stuinfo-værdier ('001','aa','female',to_date('1995-3-4','yyyy-mm-dd'));
undtagelse
    da min fejl så
        dbms_output.put_line('Overtrædelse af primær nøgles unikke begrænsning');
slut;

indsæt i stuinfo1-værdier (1,'sdf', 'male','');
Vælg * fra TB1;
Drop table TB1;
--dynamisk SQL
Begynd
     udfør øjeblikkeligt 'Opret tabel TB1(TID int)';
slut;

Erklære
        sqlString varchar2(200);
        tId int:=2;
Begynd
        sqlString:='indsæt i tb1-værdier (:1)';

        udfør instant sqlString ved hjælp af tId;

slut;


Vælg * fra StuInfo;
--Implicit markør
Begynd
        DBMS_OUTPUT. PUT_LINE('Før indsættelse:'|| SQL%ROWCOUNT);
        opdatering stuinfo sæt stusex = 'mand';
        DBMS_OUTPUT. PUT_LINE('Efter indsættelse:'|| SQL%ROWCOUNT);
SLUT;






Tidligere:Oraklet får strenglængdefunktionerne length() og hengthb()
Næste:Konfigurer VPN'en i Redhat Enterprise Server 6.3
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com