create table stuinfo1
( stuid int klucz główny, Stuname varchar(10) nie null, Stusex Char(2) check(stusex='mężczyzna' lub Stusex='kobieta'), Krótka data ); wstaw wartości do stuinfo ('001','Zhang San','male', to_date ('1999-1-1','yyy-mm-dd'); wstaw wartości do stuinfo ('002', 'Reese', 'male', to_date ('1997-12-1','yyy-mm-dd'); wstaw wartości stuinfo ('003', 'Wang Wu', 'female', to_date ('1995-3-4', 'yyyy-mm-dd'); wstaw do wartości stuinfo ('004','haha', 'male', to_date ('2000-7-5','yyy-mm-dd')); wstaw do wartości stuinfo ('005', 'haha', 'male', to_date ('1993-7-5', 'yyyy-mm-dd');
--Zdefiniowane przez system wyjątki deklaruj v_name stuinfo.stuname%type; zaczynaj Wybierz Stuname do v_name ze Stuinfo; --wyjątek -- kiedy too_many_rows wtedy -- dbms_output.put_line('Wyniki zapytań są redundantne, nie można ich przypisać'); koniec; --wyjątki zdefiniowane przez użytkownika deklaruj money_error wyjątku; money1 int := 1000; money2 int :=& kwota transferu; zaczynaj jeśli money1-money2 < 0 to raise_application_error (-20001, 'Niewystarczająca równowaga'); --podnieś money_error; else dbms_output.put_line('Transfer zakończony'); zakończ jeśli; --wyjątek -- kiedy money_error wtedy -- dbms_output.put_line('Niewystarczające saldo'); koniec;
--niezdefiniowane wyjątki deklaruj wyjątek myerror; pragma exception_init(myerror,-1); zaczynaj wstaw do stuinfo wartości ("001", "aa", "female", to_date('1995-3-4','yyy-mm-dd'); wyjątek gdy myerror wtedy dbms_output.put_line('Naruszenie ograniczenia unikalności klucza pierwotnego'); koniec;
wstaw do stuinfo1 wartości (1,'sdf', 'male',''); Wybierz * z TB1; tabela drop TB1; --dynamic sql zaczynaj natychmiast wykonaj "create table tb1(tid int)"; koniec;
deklaruj sqlString varchar2(200); tId int:=2; zaczynaj sqlString:='wstaw do wartości tb1 (:1)';
wykonaj natychmiastowy sqlString za pomocą tId;
koniec;
Wybierz * z stuinfo; --Kursor niejawny zaczynaj DBMS_OUTPUT. PUT_LINE('Przed wstawieniem:'|| SQL%ROWCOUNT); aktualizacja stuinfo ustaw stusex = 'mężczyzna'; DBMS_OUTPUT. PUT_LINE('Po wstawieniu:'|| SQL%ROWCOUNT); KONIEC;
|