Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 12545|Odpowiedź: 0

[Źródło] System Oracle zdefiniował wstępnie wyjątki i wyjątki zdefiniowane przez użytkownika

[Skopiuj link]
Opublikowano 19.03.2015 09:28:41 | | |
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;






Poprzedni:Wyrocznia otrzymuje funkcje długości ciągu length() oraz hengthb()
Następny:Konfiguruj VPN w Redhat Enterprise Server 6.3
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com