powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Опции создания VIEW в 12.2 - странности
30 сообщений из 30, показаны все 2 страниц
Опции создания VIEW в 12.2 - странности
    #39718246
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. В описании CREATE VIEW есть опция SHARING, однако попытки ее использовать приводят к ошибке:ORA-65021: illegal use of SHARING clause
Cause: A SHARING clause was encountered in unexpected context.
Action: Do not use SHARING clause outside of Oracle-supplied scripts . Если ее нельзя использовать никому, кроме самого Оракла, зачем ее включили в описание и в грамматику команды? Поступили бы уже как с CONTAINER_DATA...
А то только с толку сбивают. Или я чего не понимаю?

2. Пытаюсь использовать в команде одновременно WITH CHECK OPTION и CONTAINERS_DEFAULT. Имею: ORA-00933: SQL command not properly ended
Ст о ит только убрать одну из этих опций, как команда проходит без ошибок. Что-то я не нашел в доках, что они несовместимы.
Или к CHECK OPTION обязательно должно прилагаться название (которое в грамматике нарисовано как опциональное)?
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39718251
mibin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Правильный Вася,

Эта команда есть в 18 Oracle в 12 я её не нашел, у Вас 18?
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39718256
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Вася1. В описании CREATE VIEW есть опция SHARING, однако попытки ее использовать приводят к ошибкеДля пользования шарингом требуется явно указать начало работы с соответствующей аппликацией.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39718301
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mibinЭта команда есть в 18 Oracle в 12 я её не нашел
Она появилась в 12. 2 .

-2-Для пользования шарингом требуется явно указать начало работы с соответствующей аппликацией.
А как тогда понимать сообщение об ошибке?

И подскажите, где почитать про явное указание работы, и что за "соответствующая" аппликация?
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39718383
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяА как тогда понимать сообщение об ошибке?У меня все работает!! (с) Larry

Правильный Васяи что за "соответствующая" аппликация?Концепты (правда там текста на три буквы, но с картинкой) и админ гайд про application containers.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39718422
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Правильный ВасяА как тогда понимать сообщение об ошибке?У меня все работает!! (с) Larry
Я имел в виду текст ошибки, а не ее факт появления.

А что по поводу п.2 ?
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39718540
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяА что по поводу п.2 ?Предположу, что команда выполняется не в cdb root или application root. Кляуза containers не поддерживается. А ошибки не дает, опять предположу, ... напиши where или алиас к таблице и проверь.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39720150
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Предположу, что команда выполняется не в cdb root или application root. Кляуза containers не поддерживается. А ошибки не дает, опять предположу, ... напиши where или алиас к таблице и проверь.
Пробовал и в CDB root, и в PDB - результат одинаковый.
Опции CONTAINERS_DEFAULT и CONTAINER_MAP проходят без ошибки, НО: во вьюхе ALL_VIEWS в соответствующих им полях всегда 'NO', т.е. никакой реакции.
Если вписать в запрос WHERE, то действительно на эти 2 опции ругается.
Но все-таки, где и как их использовать?
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39720161
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
3. Если поставить в своей вьюхе WITH CHECK OPTION или READ ONLY и добавить имя к этому ограничению, то в ALL_Constraints можно его найти.
Если сделать
Код: plsql
1.
ALTER VIEW ... DROP CONSTRAINT ...

то из ALL_Constraints оно исчезает. НО! в тексте самой вьюхи ограничение (уже без имени) остаётся! И поле ALL_Views.read_only тоже остаётся 'Y'. (Где проверить в этом случае CHECK OPTION, не знаю, нет такого поля в ALL_Views.)
Получается, что это имя - просто имя, украшение...

4. И как проверить наличие у вьюхи CHECK OPTION, не раздирая текст самой вьюхи на запчасти? Особенно в свете п.3.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39720167
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяОпции CONTAINERS_DEFAULT и CONTAINER_MAP проходят без ошибкиОпции НЕ проходят. А почему нет ошибок, не сложно догадаться по намеку про алиас.
И прежде, чем продолжать мучить кляузы стоит ознакомиться с концепцией. Да и выбор недоверсии для своих экскрементов неудачный. Включая документацию.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39720189
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-И прежде, чем продолжать мучить кляузы стоит ознакомиться с концепцией. Да и выбор недоверсии для своих экскрементов неудачный. Включая документацию.
Ok. Хотя не понимаю, почему 12.2 - "недоверсия".

Что по поводу п.3 и 4 ?
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39720199
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяOk. Хотя не понимаю, почему 12.2 - "недоверсия".Это первый мажорный релиз с шардингами, шарингами и прочими мелочами. К нему уже выпущены пачсеты, которые нумеруются по годам, чтобы поколебать сложившуюся десятилетиями неприязнь к первым релизам.

Правильный Васяв тексте самой вьюхи ограничение (уже без имени) остаётсяОно не УЖЕ остается, оно сразу без имени. Для чего определять наличие check option по словарю?
И да. Во вью есть еще такие ключевые слова как force и or replace. Будешь задаваться вопросом, где оно в словаре?
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39720204
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Для чего определять наличие check option по словарю?А для чего в словаре READ ONLY есть, а CHECK OPTION нет?

-2-И да. Во вью есть еще такие ключевые слова как force и or replace. Будешь задаваться вопросом, где оно в словаре?А еще там есть стрелочки и точка с запятой. Язвить обязательно?
Или без этого самолюбие страдает?
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39720207
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяИли без этого самолюбие страдает?Моя дерзкость это тонкий психологический прием, чтобы не загонять оппонента в угол безаппеляционными репликами. Когда ему нечем отвечать, например, на вопрос "для чего", оппонент всегда может перевести диалог с сути вопроса на манеру изложения.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723568
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Когда ему нечем отвечать, например, на вопрос "для чего", оппонент всегда может перевести диалог с сути вопроса на манеру изложения.
Когда отвечающий не знает ответа, но стыдится это показать, он всегда может задать вопрос "для чего?". Мол, "никому не нужно, а ты тут самый взыскательный".
А вот чтоб було.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723571
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще вопрос по теме.

Есть NONEDITIONABLE VIEW. Пытаюсь сделать ему
Код: plsql
1.
ALTER VIEW xxx READ ONLY -- или READ WRITE

получаю ORA-42310, типа через ALTER это не реализовано, хотя в грамматике команды есть и через CREATE OR REPLACE для этой вьюхи проходит установка-снятие READ ONLY, т.е. внутренних ограничений для самой вьюхи нет.

Что за хрень?
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723607
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Вася хотя в грамматике команды естьДля alter не предусмотрено изменение текста запроса. Посему read only/check option нельзя альтерить. Имя констрейнта read only/check option в текст вьюхи не попадает, его можно альтер-дропнуть, хотя саму опцию это не меняет.
Эдиции прикручивали поверх этого и кто-то решил, что от версии к версии может потребоваться поменять read only. Поэтому расширили синтаксис и добавили колонку в словарь. Но базовое поведение менять не решились.
C вью и без того граблей разложено. Например, креайте-ор-реплейс удаляет комменты и констрейнты, поскольку состав колонок создается заново.

Правильный ВасяКогда отвечающий не знает ответа, но стыдится это показать, он всегда может задать вопрос "для чего?"В данном случае "для чего?" - риторический ответ . Словарь не обязан обрастать колонками, для которых нет практического применения.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723637
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяЧто за хрень?

Код: plsql
1.
2.
ORA-42310: Implementation restriction: this operation
 is only permitted on Editioning views



Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
SQL> alter user u1 enable editions
  2  /

User altered.

SQL> connect u1@pdb1sol122
Enter password: **
Connected.
SQL> create or replace
  2    editioning
  3    view v1
  4      as
  5        select  *
  6          from  tbl
  7  /

View created.

SQL> alter view v1
  2    read only
  3  /

View altered.

SQL> 



SY.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723735
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Посему read only/check option нельзя альтерить. READ ONLY можно альтерить, но не в любом случае. Вот меня и напрягает, что в одних случаях это нужно делать так, а в других - эдак. Хотя суть операции не меняется.

-2-Например, креайте-ор-реплейс удаляет комменты и констрейнты, поскольку состав колонок создается заново. Констрейнты и так включены в сам текст REPLACE, так что это нормально.
А вот про комменты не знал, спасибо.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723737
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY, да читал я это описание.
Но мне не понятна причина такого ограничения, если через REPLACE это можно делать.
Поленились они, что ли?
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723752
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяНо мне не понятна причина такого ограничения, если через REPLACE это можно делать.


Что можно делать? Пример приведи.

SY.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723763
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SYЧто можно делать? Пример приведи.
Ставить и затем снимать и снова ставить READ ONLY через CREATE OR REPLACE для той же самой вьюхи.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723765
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Вася-2-Посему read only/check option нельзя альтерить. READ ONLY можно альтерить, но не в любом случае. Нельзя, но не в любом... так и будем толочь воду в ступе. Я высказал свою версию о доступности именно для эдиций.

Правильный Вася-2-Например, креайте-ор-реплейс удаляет комменты и констрейнты, поскольку состав колонок создается заново. Констрейнты и так включены в сам текст REPLACEPK/FK/UK включить в текст создания нельзя. Только через альтер.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723766
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяSYЧто можно делать? Пример приведи.
Ставить и затем снимать и снова ставить READ ONLY через CREATE OR REPLACE для той же самой вьюхи.Потому что read only остается в тексте вью. Альтер текст не меняет.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723774
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-PK/FK/UK включить в текст создания нельзя. Только через альтер.Точнее, включить в текст самой view. Если указывается список колонок, в нем можно.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723818
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-Потому что read only остается в тексте вью. Альтер текст не меняет.
Еще как меняет.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #39723843
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Вася-2-Потому что read only остается в тексте вью. Альтер текст не меняет.Еще как меняет.Ты опять смешиваешь view и editioning view. Эдиционная вью суть есть синоним. Она имеет существенные ограничения на текст запроса.
Правильно было бы, как и матвью, сделать отдельный тип объекта и в документации вынести эдиционные вью в отдельный оператор. Да заодно заменить бесполезный текст запроса на банальное указание таблицы и переченя колонок типа:
create editioning view вью as таблица(поле1, ...)
Правда семейственность view и editioning view в 12.2 приобрела некий одноразовый смысл при переключении непустой схемы на эдиции. Но, если бы объекты имели разный тип, то смысла в том смысле не было бы.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Опции создания VIEW в 12.2 - странности
    #40070695
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня вопрос по поводу WITH READ ONLY.

Это уже четвертый известный мне способ запретить запись во вьюху (выдачей прав, в триггере или изменив текст запроса).

Чем он отличается в полезном смысле? На чтение он похоже не влияет, планы те же. Почитал доки, примеры, много описано про синтакс, про эффект (даст ошибку), но не описывает когда это полезно применять по сравнению с другими способами запрета записи.

Например, есть у меня
Код: plsql
1.
2.
3.
create view V_RO as
select distinct emp_id, name from EMPLOYEES
with read only;



Оно было без возможности обновления что тогда, что сейчас. Вроде тут неполезно.
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #40070711
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НеофитSQL
Вроде тут неполезно.
Код: plaintext
    "северный варвар способен не только сломать свой нефритовый стержень, но и поранить при этом руки"
...
Рейтинг: 0 / 0
Опции создания VIEW в 12.2 - странности
    #40070714
НеофитSQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,

Вы так остроумно показали спрашивающему, что он не знает ответа на вопрос, который задал.

Просто "срезал", иначе не назвать.
https://azbyka.ru/fiction/srezal-sbornik-rasskazov/
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Опции создания VIEW в 12.2 - странности
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]