loo tabel stuinfo1
( stuid int primaarvõti, stuname varchar(10) ei ole null, stusex char(2) check(stusex='isane' või stusex='naine'), Stubiri kuupäev ); sisesta stuinfo väärtustesse ('001','Zhang San','isane',to_date ('1999-1-1','yyyy-mm-dd')); sisesta stuinfo väärtustesse ('002','Reese','male',to_date ('1997-12-1','yyyy-mm-dd')); sisesta stuinfo väärtustesse ('003', 'Wang Wu', 'female', to_date ('1995-3-4', 'yyyy-mm-dd')); sisesta stuinfo väärtused ('004','haha','male',to_date ('2000-7-5','yyyy-mm-dd')); sisesta stuinfo väärtustesse ('005', 'haha', 'isane', to_date ('1993-7-5', 'yyyy-mm-dd'));
--Süsteemi eelmääratletud erandid deklareeri v_name stuinfo.stuname%type; Alusta vali stuname v_name stuinfost; --erand -- millal too_many_rows siis -- dbms_output.put_line('Päringu tulemused on üleliigsed, neid ei saa määrata'); lõpp; --kasutaja määratud erandid deklareeri money_error erand; money1 int := 1000; money2 int :=& ülekandesumma; Alusta kui raha1-raha2 < 0, siis raise_application_error (-20001, 'Ebapiisav saldo'); --tõsta money_error; else dbms_output.put_line('Ülekandmine õnnestus'); lõpp kui; --erand -- millal money_error siis -- dbms_output.put_line('Ebapiisav saldo'); lõpp;
--mitte-eelmääratletud erandid deklareeri myerror erand; pragma exception_init(minu viga,-1); Alusta sisesta stuinfo väärtused ('001','aa','female',to_date('1995-3-4','yyyy-mm-dd')); Erand kui mu viga siis dbms_output.put_line('Primaarvõtme unikaalsuse piirangu rikkumine'); lõpp;
sisesta stuinfo1 väärtused (1,'sdf','isane','); vali * tb1-st; Drop table tb1; --dünaamiline SQL Alusta käivita kohe 'loo tabel tb1(tid int)'; lõpp;
deklareeri sqlString varchar2(200); tId int:=2; Alusta sqlString:='sisesta tb1 väärtustesse (:1)';
käivitada kohe sqlString tID abil;
lõpp;
vali * stuinfost; --Varjatud kursor Alusta DBMS_OUTPUT. PUT_LINE('Enne lisamist:'|| SQL%ROWCOUNT); uuenda stuinfo komplekt Stusex = 'mees'; DBMS_OUTPUT. PUT_LINE('Pärast lisamist:'|| SQL%ROWCOUNT); LÕPP;
|