Добавить в избранное   Сделать стартовой   Главная   E-mail   Форум   Мой блог 
   
Cертификации

Errors

ETL

FAQ (по темам)

GIS

Web

wiki

Администрирование

Безопасность

Книги
Oracle, ...

Новости

ОС

Программирование

Проектирование БД

Производительность

Скачать

Советы

Тестирование

Установка

FAQ - по базам данных
FAQ - по базам данных
Установка СУБД
Oracle
Sybase
MySQL
PostgreSQL
MS SQL Server
Interbase, Firebird
Другие DB
Администрирование
Oracle
MySQL
Sybase
PostgreSQL
MS SQL Server
Interbase, Firebird
IBM DB2
Другие DB
Проектирование БД
Статьи
ETL
Теория БД
ErWin
Designer 2000
PowerDesigner
Хранилища данных
CASE средства
OLAP
Бизнес - анализ (BI)
Производительность
Oracle
MSSQL
Interbase, Firebird
IBM DB2
MySQL
PostgreSQL
SYBASE
Безопасность БД
Oracle
MS SQL Server
Инъекция SQL
Программирование
Transact-SQL
PL/SQL
C++
XML
SQL
PostgreSQL
MDX
Java
VBA Excel
Книги по базам
Oracle
Заказ книг
ОС
Установка и настройка
UBUNTU
ОС
Установка и настройка
UBUNTU
FAQ
FAQ - по базам данных
Главная

Стандартные исключения PLSQL

Печать E-mail

Стандартные исключения PLSQL

Стандартные исключения PLSQL

ИсключениеOracle Error SQLCODE Value
CURSOR_ALREADY_OPEN ORA-06511 -6511
DUP_VAL_ON_INDEX ORA-00001 -1
INVALID_CURSOR ORA-01001 -1001
INVALID_NUMBER ORA-01722 -1722
LOGIN_DENIED ORA-01017 -1017
NO_DATA-FOUND ORA-01403 +100
NOT_LOGGED_ON ORA-01012 -1012
PROGRAM_ERROR ORA-06501 -6501
ROWTYPE_MISMATCH ORA-06504 -6504
STORAGE_ERROR ORA-06500 -6500
TIMEOUT_ON_RESOURCE ORA-00051 -51
TOO_MANY_ROWS ORA-01422 -1422
VALUE_ERROR ORA-06502 -6502
ZERO_DIVIDE ORA-01476 -1476
Чтобы ознакомится с более подробным списком исключений, смотрите Oracle7 Server Messages.

Описание исключений :

CURSOR_ALREADY_OPEN вызывается, если вы раннее уже открыли данный курсор. Вы должны закрыть курсор, перед тем как снова открыть его.

Курсор для цикла FOR открывается автоматически , поэтому вы не можете выполнить кусорный цикл по уже открытому курсору. 

DUP_VAL_ON_INDEX вызывается при попытке сохранить несколько одинаковых значений в колонку таблицы, когда на данную колонку установлен уникальный индекс.

INVALID_CURSOR вызываетется ,если вы пытаетесь выполнить некорректную операцию с курсором. Например, INVALID_CURSOR вызывается, если вы пытаетесь закрыть еще не открытый курсор.

INVALID_NUMBER вызывается в SQL выражениях, когда не получается корректно конвертировать строку в число , потому что строка не преобразуется корректно в число. Например, следующее выражение INSERT вызывает INVALID_NUMBER когда Oracle пытается преобразовать строку 'HALL'  в число:

INSERT INTO emp (empno, ename, deptno) VALUES ('HALL', 7888, 20);

Следует помнить, что процедурных выражениях вызывается исключение VALUE_ERROR .

LOGIN_DENIED вызывается если вы пытаетесь соединится с Oracle с неправильным именем пользователя или паролем.

NO_DATA_FOUND  вызывается если в выражение SELECT INTO не возвращает ни одной строки или если вы обращаетесь к неустановленной строке в PL/SQL таблице. Выражение FETCH в случае когда не выбрано строк, выполняется успешно, не вызывая исключения.

Групповые выражения SQL ,такие как  AVG и SUM всегда возвращают значение или null. Так, выражение SELECT INTO statement с групповой функцией никогда не вызовет исключение NO_DATA_FOUND.

NOT_LOGGED_ON вызывается если вы в PL/SQL приложении обращаетесь к базе данных без предварительного соединения с Oracle.

PROGRAM_ERROR вызывается если в PL/SQL при внутренниих структурных ошибках.

ROWTYPE_MISMATCH вызывается , когда курсор или выражение PL/SQL вы пытаетесь преобразовать к перемнной несовместимого типа. Например, когда вы открыли курсор в хранимой процедуре, если возвращаемый тип имеет несовметимый формат параметров, PL/SQL вызывает ROWTYPE_MISMATCH.

STORAGE_ERROR вызывается если PL/SQL не хватет оперативной памяти или в опративной памяти есть поврежденные блоки.

TIMEOUT_ON_RESOURCE вызвается когда превышен интервал ожидания Oracle необходимого ресурса.

TOO_MANY_ROWS вызывается если в выражение  SELECT INTO возвращается более одной строки.

VALUE_ERROR возникает в операциях преобразования , математических операциях , или когда не совпадает размерность типов. Например, когда вы выбираете значение колонки строку, и если длина переменно меньше размерности данной строки, PL/SQL прерывает выполнение программы исключением VALUE_ERROR.

В процедурных выражениях, VALUE_ERROR вызывается если преобразование строки в число ошибочно. Например, следующее выражение вызывает VALUE_ERROR когда PL/SQL пытается преобразовать строку 'HALL'  в число:

DECLARE    my_empno NUMBER(4);    my_ename CHAR(10); BEGIN    my_empno := 'HALL';  
-- raises VALUE_ERROR

в выражениях SQL вызывается исключение  INVALID_NUMBER 

ZERO_DIVIDE вызывается при попытке деления на ноль.
 
 
« Пред.   След. »
Взаимосвязанные статьи
     

Последние добавленные статьи
Поиск
Ссылки
Главная
Скачать
Курсы
Роль АБД (SYSDBA)
Карта сайта
Автостекла
Контакты
Войти на сайт
Популярные статьи
Online - тесты
1Z0-042
Rambler's Top100 МЕТА - Украина. Рейтинг сайтов хостинг от freehost.com.ua

Все права защищены.SYSDBA 2010 | Если у Вас есть хороший материал пришлите его нам.