Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 12545|Ответ: 0

[Источник] Заранее определённые исключения системы Oracle и пользовательские исключения

[Скопировать ссылку]
Опубликовано 19.03.2015 9:28:41 | | |
Создать таблицу stuinfo1
(
       Первичный ключ Stuid int,
       Stuname varchar(10) не нуль,
       stusex char(2) check(stusex='мужский' или stusex='женский'),
       Дата Stubir
);
вставить в значения 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','yyy-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;
    прагма 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;
Стол для выброса TB1;
--динамический sql
Начало
     немедленно выполнить 'создать таблицу tb1(tid int)';
конец;

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

        немедленно выполнить sqlString с использованием tId;

конец;


выберите * из stuinfo;
--Неявный курсор
Начало
        DBMS_OUTPUT. PUT_LINE('Перед вставкой:'|| SQL%ROWCOUNT);
        обновление: набор stuinfo stusex = «мужский»;
        DBMS_OUTPUT. PUT_LINE('После вставки:'|| SQL%ROWCOUNT);
КОНЕЦ;






Предыдущий:Oracle получает функции длины строки length() и hengthb()
Следующий:Настройте VPN в Redhat Enterprise Server 6.3
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com