Сводка изменений в SQL и Oracle7, страница 12

режим                                    В  этом  режиме  ORACLE  интерпретирует  SQL   в

совместимости точности так, как это описано в данном с V7 руководстве.

режим                                    В этом режиме ORACLE интерпретирует SQL так, как

совместимости это описано в данном руководстве, с некоторыми с V6 исключениями, обусловленными совместимостью с

ORACLE версии 6.

Табл.A-1 описывает различия между этими двумя режимами:

Табл.A-1

Различия между режимами совместимости V6 и V7

Режим совместимости V6

Режим совместимости V7

Когда вы определяете столбец

с типом данных CHAR, ORACLE

создает его с типом VARCHAR2,

который эквивалентен типу CHAR

версии 6. Столбец будет стро-

кой символов переменной длины

с максимальной длиной 2000

байт и недополняющей семанти-

кой сравнения.

Когда вы определяете столбец с типом данных CHAR, ORACLE создает его с типом ORACLE7

CHAR, который не эквивалентен типу CHAR версии 6. Столбец будет строкой символов фикси­рованной длины с максимальной длиной 255 байт и дополняющей семантикой сравнения.

Необязательный идентификатор

CONSTRAINT может появляться только в конце фразы

CONSTRAINT.

Необязательный идентификатор

CONSTRAINT может появляться только в начале фразы

CONSTRAINT.

По умолчанию, ограничения

PRIMARY KEY, UNIQUE, CHECK и ограничения ссылочной целост­ности выключаются при созда­нии, а ограничения NOT NULL включаются при создании.

По умолчанию, все ограничения целостности включаются при создании.

Если вы задаете значение

PCTINCREASE для сегмента отка­та, ORACLE игнорирует его и использует значение 0.

Если вы задаете значение

PCTINCREASE для сегмента отката, ORACLE возвращает ошибку.

Если вы задаете значение

MAXEXTENTS, которое превышает допустимый максимум, зависящий от размера блока данных, то

ORACLE игнорирует это значение и использует максимальное.

Если вы задаете значение

MAXEXTENTS, которое превышает допустимый максимум, завися­щий от размера блока данных, то ORACLE возвращает ошибку.

Сводка изменений в SQL в ORACLE7  A-27

Есть два существенных различия между режимами совместимости V6 и V7, которые специфичны для прекомпиляторов ORACLE и для интерфейсов вызовов ORACLE (OCI). Для информации об этих различиях обратитесь к документам Programmer's Guide to the ORACLE Precompilers и Programmer's Guide to the ORACLE Call Interfaces.

Миграция в ORACLE7

~~~~~~~~~~~~~~~~~~

Вы можете захотеть установить режим совместимости V6, когда вы первоначально переходите на ORACLE7, чтобы облегчить перевод ваших существющих приложений из ORACLE версии 6. Установление режима совместимости V6 уменьшает (хотя и не устраняет совсем) количество изменений, которые вам может потребоваться внести в ваши приложения, прежде чем они станут работоспособны в ORACLE7. Заметьте, что существуют некоторые образцы синтаксиса SQL, которые поддерживаются ORACLE версии 6, но не поддерживаются ORACLE7 ни в одном из режимов совместимости. Если у вас есть приложения в ORACLE версии 6, то вы должны обратиться к документу ORACLE7 Server Migration Guide за списком изменений, которые вы должны осуществить в ваших приложениях при их переносе в ORACLE7.

В конечном счете вы должны модернизировать свои приложения так, чтобы они работали в режиме совместимости V7, а не V6.

Установка и переключение режима совместимости ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

По умолчанию, все сессии в ORACLE7 первоначально выполняются в режиме совместимости V7. Некоторые инструменты приложений ORACLE позволяют вам устанавливать и переключать режимы совместимости для ваших сессий. Для информации о том, как устанавливать и переключать режимы совместимости, обратитесь к руководству для конкретного инструмента. Например, чтобы узнать, как переключаться между режимами совместимости в SQL*Plus, обратитесь к документу SQL*Plus User's Guide and Reference Manual.

A-28  Справочное руководство по SQL