Oracle - опция просмотра FORCE не отображается в представлении после выполнения - PullRequest
0 голосов
/ 24 декабря 2018

Мы создали представление для обработки сложного SQL, но при создании представления, используя опцию FORCE .Например:

create or replace FORCE view testview as
select 1
from dual;

FORCE удаляется при последующем просмотре представления

create or replace view testview as
select 1
from dual;

Укажите FORCE, если хотите создать представление независимо от того, используются ли базовые таблицыview или ссылочные типы объектов существуют, или владелец схемы, содержащей представление, имеет права на них.Эти условия должны быть истинными, прежде чем любые операторы SELECT, INSERT, UPDATE или DELETE могут быть выполнены для представления.

Если определение представления содержит какие-либо ограничения, CREATE VIEW ... FORCE завершится ошибкой, если базовая таблица выполнитне существует или указанный тип объекта не существует.CREATE VIEW ... FORCE также завершится ошибкой, если в определении представления будет указано несуществующее ограничение.

Используется ли опция FORCE только во время выполнения без эффектов времени выполнения?и используется ли он только для принудительной отмены предыдущего представления (даже при ошибке)?

1 Ответ

0 голосов
/ 24 декабря 2018

Используется ли опция FORCE только во время выполнения без эффектов времени выполнения?

Да.Если оператор представления недопустим - скажем, есть опечатка, а имя таблицы в предложении FROM написано с ошибкой - обычно Oracle не создает представление.С помощью ключевого слова FORCE представление создается, но со статусом 'INVALID'.Это может быть полезно в определенных ситуациях, например, у нас есть инструмент для сборки, который прекращает работу в случае сбоя инструкции, но мы бы предпочли, чтобы вся сборка завершилась, а затем уладил все несоответствия.

используется только дляпринудительно отменяет предыдущее представление

Нет.Мы можем выбрать использование FORCE, даже если представление не существует до этого момента.Использование немного отличается от использования FORCE, когда мы меняем тип с зависимостями.Мы всегда можем создать или заменить представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...