Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 12545|Отговор: 0

[Източник] Предварително дефинирани изключения на системата Oracle и потребителски дефинирани изключения

[Копирай линк]
Публикувано в 19.03.2015 г. 9:28:41 ч. | | |
Създаване на таблица stuinfo1
(
       stuid int първичен ключ,
       Stuname varchar(10) не нулев,
       stusex char(2) check(stusex='мъжки' или stusex='женски'),
       Дата на Стубир
);
вмъкнете в стойности на stuinfo ('001','Zhang San','male',to_date ('1999-1-1','yyyy-mm-dd'));
вмъкнете в стойности на stuinfo ('002','Reese','male',to_date ('1997-12-1','yyyy-mm-dd'));
вмъкнете в стойности на stuinfo ('003', 'Wang Wu', 'женски', to_date ('1995-3-4', 'yyyy-mm-dd'));
вмъкнете в стойности на stuinfo ('004','хаха','мъжки',to_date ('2000-7-5','yyyy-mm-dd'));
вмъкнете в стойности на stuinfo ('005', 'haha', 'male', to_date ('1993-7-5', 'yyyy-mm-dd'));


--Системни предварително дефинирани изключения
Обяви
    v_name stuinfo.stuname%type;
Начало
    Изберете Stuname в v_name от Stuinfo;
--изключение
-- когато too_many_rows тогава
-- dbms_output.put_line('Резултатите от заявката са излишни, не могат да бъдат присвоени');
край;
--потребителски определени изключения
Обяви
    money_error изключение;
    money1 int := 1000;
    money2 int :=& сума на трансфер;
Начало
    ако money1-money2 < 0, тогава
       raise_application_error (-20001, "Недостатъчен баланс");
       --да повдигне money_error;
    Друго
       dbms_output.put_line('Трансферът е успешен');
    край ако;
--изключение
-- когато money_error тогава
-- dbms_output.put_line('Недостатъчен баланс');
край;

--непредварително дефинирани изключения
Обяви
    изключение myerror;
    pragma exception_init(myerror,-1);
Начало
    вмъкнете в стойности на stuinfo ('001','aa','female',to_date('1995-3-4','yyyy-mm-dd'));
Изключение
    когато myerror тогава
        dbms_output.put_line('Нарушение на ограничението за уникалност на първичен ключ');
край;

вмъкнете в stuinfo1 стойности (1,'sdf','male','');
Изберете * от TB1;
Drop table TB1;
--динамичен sql
Начало
     незабавно изпълни 'create table tb1(tid int)';
край;

Обяви
        sqlString varchar2(200);
        tId int:=2;
Начало
        sqlString:='вмъкни в tb1 стойности (:1)';

        незабавно изпълняване на sqlString с tId;

край;


изберете * от stuinfo;
--Имплицитен курсор
Начало
        DBMS_OUTPUT. PUT_LINE('Преди да вмъкне:'|| SQL%БРОЙ РЕДОВЕ);
        Update stuinfo set stusex = 'мъжки';
        DBMS_OUTPUT. PUT_LINE('След вмъкване:'|| SQL%БРОЙ РЕДОВЕ);
КРАЙ;






Предишен:Oracle получава функциите за дължина на струна дължина() и hengthb()
Следващ:Конфигурирайте VPN в Redhat Enterprise Server 6.3
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com