luo taulukko stuinfo1
( stuid int pääavain, stuname varchar(10) ei ole nolla, stusex char(2) check(stusex='uros' tai stusex='nainen'), Stubir-treffit ); lisää stuinfo-arvoihin ('001','Zhang San','male',to_date ('1999-1-1','yyyy-mm-dd')); lisää stuinfo-arvot ('002','Reese','male',to_date ('1997-12-1','yyyy-mm-dd')); lisää stuinfo-arvoihin ('003', 'Wang Wu', 'female', to_date ('1995-3-4', 'yyyy-mm-dd')); lisää stuinfo-arvot ('004','haha','male',to_date ('2000-7-5','yyyy-mm-dd')); lisää Stuinfo-arvoihin ('005', 'haha', 'male', to_date ('1993-7-5', 'yyyy-mm-dd'));
--Järjestelmän ennalta määritellyt poikkeukset julistaa v_name stuinfo.stuname%type; Aloita valitse stuname v_name stuinfosta; --poikkeus -- kun too_many_rows sitten -- dbms_output.put_line('Kyselytulokset ovat tarpeettomia, niitä ei voi määrittää'); loppu; --käyttäjän määrittelemät poikkeukset julistaa money_error poikkeus; money1 int := 1000; money2 int :=& siirtosumma; Aloita Jos raha1-raha2 < 0, niin raise_application_error (-20001, 'Riittämätön tasapaino'); --nosta money_error; else dbms_output.put_line('Siirto onnistui'); päättyy jos; --poikkeus -- kun money_error sitten -- dbms_output.put_line('Riittämätön tasapaino'); loppu;
--ei-ennalta määritellyt poikkeukset julistaa myerror-poikkeus; pragma exception_init(myerror,-1); Aloita lisää stuinfo-arvot ('001','aa','female',to_date('1995-3-4','yyyy-mm-dd')); Poikkeus kun minun virheeni silloin dbms_output.put_line('Ensisijaisen avaimen ainutlaatuisuusrajoitteen rikkominen'); loppu;
lisää stuinfo1-arvot (1,'sdf','uros','); valitse * tb1:stä; pudota taulukko tb1; --dynaaminen sql Aloita suorita välitön 'create table tb1(tid int)'; loppu;
julistaa sqlString varchar2(200); tId int:=2; Aloita sqlString:='insert into tb1 arvot (:1)';
suorittaa välitön sqlString käyttäen tID:tä;
loppu;
valitse * stuinfosta; --Implisiittinen kursori Aloita DBMS_OUTPUT. PUT_LINE('Ennen lisäämistä:'|| SQL%ROWCOUNT); päivitä stuinfo-setti Stusex = 'mies'; DBMS_OUTPUT. PUT_LINE('Lisäyksen jälkeen:'|| SQL%ROWCOUNT); LOPPU;
|