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;
|