Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 12545|Odpověď: 0

[Zdroj] Předdefinované výjimky systému Oracle a uživatelem definované výjimky

[Kopírovat odkaz]
Zveřejněno 19.03.2015 9:28:41 | | |
vytvořit tabulku stuinfo1
(
       Stuid int primární klíč,
       Stuname Varchar(10) není null,
       Stusex Char(2) zaškrtnut(Stusex='muž' nebo Stusex ='žena'),
       Strnadové datum
);
vložte do stuinfo hodnoty ('001','Zhang San','male', to_date ('1999-1-1','yyy-mm-dd'));
vložit do stuinfo hodnoty ('002', 'Reese', 'same', to_date ('1997-12-1','yyyy-mm-dd'));
vložit do stuinfo hodnot ('003', 'Wang Wu', 'female', to_date ('1995-3-4', 'yyyy-mm-dd'));
vložte do stuinfo hodnoty ('004','haha', 'same', to_date ('2000-7-5','yyy-mm-dd'));
vložit do stuinfo hodnot ('005', 'haha', 'male', to_date ('1993-7-5', 'yyyy-mm-dd');


--Předdefinované výjimky systému
Deklarujte
    v_name stuinfo.stuname%type;
začátek
    Vyberte Stuname do v_name ze Stuinfo;
--výjimka
-- když too_many_rows pak
-- dbms_output.put_line('Výsledky dotazů jsou redundantní, nelze je přiřadit');
konec;
--uživatelem definované výjimky
Deklarujte
    money_error výjimku;
    money1 int := 1000;
    money2 int :=& převodní částka;
začátek
    pokud money1-money2 < 0, pak
       raise_application_error (-20001, 'Nedostatečná bilance');
       --zvýšit money_error;
    jinak
       dbms_output.put_line('Přenos úspěšný');
    Konec pokud;
--výjimka
-- když money_error pak
-- dbms_output.put_line('Nedostatečná rovnováha');
konec;

--nepředdefinované výjimky
Deklarujte
    výjimka myerror;
    pragma exception_init(myerror,-1);
začátek
    vkládat do stuinfo hodnoty ('001','aa', 'female', to_date('1995-3-4','yyy-mm-dd'));
výjimka
    když myerror pak
        dbms_output.put_line('Porušení omezení jedinečnosti primárního klíče');
konec;

vložte do stuinfo1 hodnoty (1,'sdf', 'male','');
Vyberte * z TB1;
drop table tb1;
--dynamic sql
začátek
     okamžitě provést 'vytvořit tabulku tb1(tid int)';
konec;

Deklarujte
        sqlString varchar2(200);
        tId int:=2;
začátek
        sqlString:='vložit do hodnot tb1 (:1)';

        okamžitě spustit sqlString pomocí tId;

konec;


Vyberte * ze stuinfo;
--Implicitní kurzor
začátek
        DBMS_OUTPUT. PUT_LINE('Před vložením:'|| SQL%ROWCOUNT);
        Aktualizace stuinfo set stusex = 'muž';
        DBMS_OUTPUT. PUT_LINE('Po vložení:'|| SQL%ROWCOUNT);
KONEC;






Předchozí:Orákulum získává funkce délky řetězce Length() a hengthb()
Další:Konfigurujte VPN v Redhat Enterprise Server 6.3
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com