Статья была перемещена на другой URL. Несколько перепечаток этой статьи (в том числе и с oracle.com) ссылаются на этот старый URL, в результате обратные ссылки были битые. Этот старый URL статьи перенаправляет на постоянный теперь URL оригинальной статьи "Блокировки Oracle при неиндексированных внешних ключах"
www.foxbase.ru
Довольно тривиальный вопрос. При разработке приложений на
PL/SQL очень часто требуется найти запись в таблице по некоторым условиям. Причем искомая запись может существовать в таблице, а может и не существовать. Не будем здесь говорить о правильных индексах в таблице, сборе статистики оптимизатора, а посмотрим на поиск с несколько другой стороны.
(далее...)
В
Oracle существует две
PL/SQL функции, которые возвращают сообщение об ошибке последней исключительной ситуации, которая возникла в вашей PL/SQL функции, процедуре или анонимном PL/SQL блоке. Первая это всем известная функция
SQLERRM, вторая - менее известная функция
DBMS_UTILITY.FORMAT_ERROR_STACK. Какую функцию и когда следует использовать? Чтобы ответить на этот вопрос давайте сначала детально рассмотрим каждую функцию.
(далее...)
Любой
Oracle разработчик знает функцию
NVL. Эта функция принимает два аргумента и если первый из них не является
NULL, возвращает значение первого аргумента. В противном случае возвращается значение второго аргумента.
(далее...)
Обычные индексы известны любому специалисту
Oracle. Многим также известны индексы, основанные на функциях. В этой небольшой статье будет сделан небольшой обзор индексов Oracle, основанных на функциях или
функциональных индексов или
function based index.
(далее...)
Любая база данных построена на
транзакциях.
Oracle database в этом смысле не исключение. Любые операции с данными в таблицах Oracle явно или неявно происходят внутри транзакций. Однако база данных Oracle начиная с восьмой версии имеет дополнительный механизм работы с транзакциям, называемый
автономными транзакциями.
(далее...)
Одна из интересных новых возможностей
Oracle PL/SQL версии
11g это технология
Intra-unit inlining. Суть это технологии в том, что если в вашем коде есть вложенные в него процедуры или функции, то с помощью этой технологии можно скомпилировать ваш код таким образом, что эти вложенные процедуры и функции будут убраны в скомпилированном коде, а код этих вложенных процедур или функций будет располагаться непосредственно в теле вашего кода вместо вызова этих вложенных процедур или функций.
(далее...)
Начиная с версии Oracle Database 9.2 появилась технология Native Compilation для PL/SQL кода. Суть этой технологии состоит в том, что PL/SQL код можно скомпилировать в исполняемый код той операционной системы, на которой установлен сервер базы данных. К сожалению, особой распространенности эта технология не получила в версиях 9.2 и 10 из-за сложностей с установкой на сервере компилятора C и большого объема получаемого объектного кода.
Начиная с версии
Oracle Database 11g этих сложностей больше нет, больше нет необходимости заниматься настройкой компилятора
C, теперь компиляция
PL/SQL кода в режиме
Native Compilation становится тривиальной.
(далее...)
В
PL/SQL 11g появилась возможность выбирать следующее значение из последовательности (
sequence) напрямую, не используя выборку значения через системную таблицу
dual.
(далее...)
В версии
Oracle Database 11g появилась новая замечательная возможность кэширования результатов PL/SQL функций. Кэшировать можно как результаты обычных PL/SQL функций, так и результаты функций в PL/SQL пакетах.
(далее...)
Ошибка
ORA-04061 обычно возникает у пользователя в приложениях на основе
Oracle Database в том случае, если разработчик или DBA выполнил перекомпиляцию какого либо
PL/SQL пакета. Если пользователь через функцию приложения обращается к этому PL/SQL пакету, то он получит исключение
ORA-04061:
(далее...)
Если вы создали уникальный ключ для вашей таблицы в
Oracle и вам требуется его изменить, то сделать это проще всего удалением старого уникального ключа и созданием нового. Здесь вас может подстерегать одна небольшая неприятность.
(далее...)