create table stuinfo1
( Stuid int primárny kľúč, Stuname Varchar(10) nie null, stusex char(2) check(stusex='muž' alebo stusex='žena'), Stubir dátum ); vložiť do stuinfo hodnôt ('001','Zhang San','male', to_date ('1999-1-1','yyy-mm-dd')); vložiť do stuinfo hodnôt ('002', 'Reese', 'same', to_date ('1997-12-1','yyyy-mm-dd'); vložiť do stuinfo hodnôt ('003', 'Wang Wu', 'female', to_date ('1995-3-4', 'yyyy-mm-dd'); vložte do stuinfo hodnôt ('004','haha', 'male', to_date ('2000-7-5','yyyy-mm-dd'); vložiť do stuinfo hodnôt ('005', 'haha', 'male', to_date ('1993-7-5', 'yyyy-mm-dd');
--Systémové preddefinované výnimky vyhlásiť v_name stuinfo.stuname%type; začať. Vyberte Stuname do v_name zo Stuinfo; --výnimka -- keď too_many_rows potom -- dbms_output.put_line('Výsledky dotazu sú redundantné, nemožno ich priradiť'); koniec; --používateľom definované výnimky vyhlásiť money_error výnimku; money1 int := 1000; money2 int :=& suma prevodu; začať. ak money1-money2 < 0, potom raise_application_error (-20001, 'Nedostatočná bilancia'); --zvýšiť money_error; else dbms_output.put_line('Transfer úspešný'); koniec ak; --výnimka -- keď money_error potom -- dbms_output.put_line('Nedostatočná bilancia'); koniec;
--nepreddefinované výnimky vyhlásiť výnimka myerror; pragma exception_init(myerror,-1); začať. vložiť do stuinfo hodnoty ('001','aa','female', to_date('1995-3-4','yyyy-mm-dd'); výnimka keď myerror potom dbms_output.put_line('Porušenie obmedzenia jedinečnosti primárneho kľúča'); koniec;
vložte do stuinfo1 hodnoty (1,'sdf', 'male',''); Vyberte * z TB1; drop table TB1; --dynamický SQL začať. okamžite vykonať 'create table tb1(tid int)'; koniec;
vyhlásiť sqlString varchar2(200); tId int:=2; začať. sqlString:='vložiť do hodnôt tb1 (:1)';
vykonať okamžitý sqlString pomocou tId;
koniec;
Vyberte * zo stuinfo; --Implicitný kurzor začať. DBMS_OUTPUT. PUT_LINE('Pred vložením:'|| SQL%ROWCOUNT); Aktualizácia stuinfo nastavuje stusex = 'muž'; DBMS_OUTPUT. PUT_LINE('Po vložení:'|| SQL%ROWCOUNT); KONIEC;
|