create table stuinfo1
( stuid int cheia primară, Stuname Varchar(10) nu nul, Verificare Stusex Char(2) (Stusex='Bărbat' sau Stusex='Femelă'), Stubir Date ); inserați în valorile stuinfo ('001', 'Zhang San', 'male', to_date ('1999-1-1', 'yyyy-mm-dd')); inserați în valori stuinfo ('002', 'Reese', 'male', to_date ('1997-12-1', 'yyyy-mm-dd')); inserați în valori stuinfo ("003", "Wang Wu", "feminin", to_date ("1995-3-4", "yyy-mm-dd"); inserați în valorile Stuinfo ('004', 'haha', 'male', to_date ('2000-7-5', 'yyyy-mm-dd')); inserați în valori Stuinfo ('005', 'haha', 'male', to_date ''1993-7-5', 'yyyy-mm-dd'));
--Excepții predefinite de sistem declară v_name stuinfo.stuname%type; Încep selectează Stuname în v_name din Stuinfo; --excepție -- când too_many_rows atunci -- dbms_output.put_line('Rezultatele interogării sunt redundante, nu pot fi atribuite'); sfârșit; --excepții definite de utilizator declară money_error excepție; Money1 INT := 1000; money2 int :=& suma transferului; Încep dacă money1-money2 < 0 atunci raise_application_error (-20001, "Sold insuficient"); --ridică money_error; altfel dbms_output.put_line('Transfer reușit'); sfârșit dacă; --excepție -- când money_error atunci -- dbms_output.put_line('Echilibru insuficient'); sfârșit;
--excepții nedefinite declară myerror exception; pragma exception_init(eroarea mea,-1); Încep inserați în valorile Stuinfo ('001', 'aa', 'female', to_date('1995-3-4', 'yyyy-mm-dd')); Excepție când myerror atunci dbms_output.put_line('Încălcarea constrângerii unicității cheii primare'); sfârșit;
inserați în valorile stuinfo1 (1,'sdf', 'male',''); selectează * din TB1; drop table tb1; --SQL dinamic Încep execută imediat 'creează tabelul tb1(tid int)'; sfârșit;
declară sqlString varchar2(200); tId int:=2; Încep sqlString:='inserați în valorile tb1 (:1)';
execută imediat sqlString folosind tId;
sfârșit;
selectează * din stuinfo; --Cursor implicit Încep DBMS_OUTPUT. PUT_LINE('Înainte de introducere:'|| SQL%ROWCOUNT); Actualizare setul StuInfo Stusex = 'masculin'; DBMS_OUTPUT. PUT_LINE('După inserare:'|| SQL%ROWCOUNT); SFÂRȘIT;
|