powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Пропадает невидимость у колонок VIEW, ora 12.2
12 сообщений из 12, страница 1 из 1
Пропадает невидимость у колонок VIEW, ora 12.2
    #39734815
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если на вьюху навесить любой констрейнт, то все INVISIBLE колонки в ней с какого-то перепугу становятся видимыми. Вот простая демонстрация:
Код: 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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
Присоединен к:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> SELECT column_name, hidden_column FROM All_Tab_Cols WHERE owner = 'U99' AND table_name = 'VVV';

строки не выбраны

SQL> CREATE VIEW VVV (f1, f2 invisible ) AS SELECT * FROM V$version;

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

SQL> SELECT column_name, hidden_column FROM All_Tab_Cols WHERE owner = 'U99' AND table_name = 'VVV';

COLUMN_NAME
--------------------------------------------------------------------------------
HID
---
F1
NO

F2
YES


SQL> ALTER VIEW VVV ADD CONSTRAINT PK_VVV PRIMARY KEY(f1) NORELY DISABLE NOVALIDATE;

Представление изменено.

SQL> SELECT column_name, hidden_column FROM All_Tab_Cols WHERE owner = 'U99' AND table_name = 'VVV';

COLUMN_NAME
--------------------------------------------------------------------------------
HID
---
F1
NO

F2
NO


SQL>


При этом не имеет значения, какие колонки были невидимыми, на какие навешен констрейнт, что было базой для вьюхи (таблица или другая вьюха).

Больше всего сбивает с толку, что месяц назад на этом же сервере делал такие же эксперименты, и подобных странностей не было, до сих пор лежит несколько вьюх с невидимыми колонками и констрейнтами...
...
Рейтинг: 0 / 0
Пропадает невидимость у колонок VIEW, ora 12.2
    #39734923
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Вася
Код: plsql
1.
FROM All_Tab_Cols WHERE owner = 'U99'

Ты не ищешь лёгких путей?
...
Рейтинг: 0 / 0
Пропадает невидимость у колонок VIEW, ora 12.2
    #39734937
Фотография Павел Воронцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяБольше всего сбивает с толку, что месяц назад на этом же сервере делал такие же эксперименты, и подобных странностей не было, до сих пор лежит несколько вьюх с невидимыми колонками и констрейнтами...Ну так спроси у ДБА что на базу накатывали.
...
Рейтинг: 0 / 0
Пропадает невидимость у колонок VIEW, ora 12.2
    #39734948
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Васядо сих пор лежит несколько вьюх с невидимыми колонками и констрейнтами...Потому что лишний alter не нужен.
Код: plsql
1.
CREATE or replace VIEW VVV (f1, f2 invisible, CONSTRAINT PK_VVV PRIMARY KEY(f1) NORELY DISABLE NOVALIDATE) AS SELECT 1,2 FROM V$version;


Павел ВоронцовНу так спроси у ДБА что на базу накатывали.Ему показалось.
Поведение стабильное на начальных 12.1.0.2.0, 12.2.0.1.0 и 18.3.0.0.0.
...
Рейтинг: 0 / 0
Пропадает невидимость у колонок VIEW, ora 12.2
    #39735704
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic, насчет легких путей не понял.

Насчет лишнего alter. Похоже, я тогда действительно inline-constraint делал. А как быть, если потом надо исправить констраинт и пересоздать вьюху уже нельзя?
...
Рейтинг: 0 / 0
Пропадает невидимость у колонок VIEW, ora 12.2
    #39735714
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Васякак бытьОбращаться в поддержку. Либо исправят баг, либо документацию.
...
Рейтинг: 0 / 0
Пропадает невидимость у колонок VIEW, ora 12.2
    #39735826
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Васянасчет легких путей не понялuser_*
Правильный Васяinline-constraintНе бросайся терминами, которых не понимаешь.Правильный Васяи пересоздать вьюху уже нельзя?Врёшь, так не бывает.
...
Рейтинг: 0 / 0
Пропадает невидимость у колонок VIEW, ora 12.2
    #39735870
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic,
вот блин наехал.
...
Рейтинг: 0 / 0
Пропадает невидимость у колонок VIEW, ora 12.2
    #39735871
Правильный Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicПравильный Васяи пересоздать вьюху уже нельзя?Врёшь, так не бывает.
Скажем так, геморройно весьма.
Еще будешь к словам цепляться?
...
Рейтинг: 0 / 0
Пропадает невидимость у колонок VIEW, ora 12.2
    #39735875
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Васявот блин наехал.Не пость картинок, которых тоже не понимаешь.
...
Рейтинг: 0 / 0
Пропадает невидимость у колонок VIEW, ora 12.2
    #39735877
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный ВасяСкажем так, геморройно весьма.
Еще будешь к словам цепляться?У всех вьюха пересоздаётся с полпинка. Геморрой только у тебя.
...
Рейтинг: 0 / 0
Пропадает невидимость у колонок VIEW, ora 12.2
    #39735888
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильный Вася,

In line constraint означает constraint указан прямо в определении поля. Все остальное есть out of line constraint независимо задан ли constraint отдельный ALTER TABLE/VIEW ADD CONSTRAINT или непосредственно в CREATE TABLE/VIEW но вне определения полей. Например in line:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> CREATE TABLE VASIA
  2  (EMPNO NUMBER,
  3  ENAME VARCHAR2(1000) NOT NULL,
  4  GENDER VARCHAR2(1) CHECK (GENDER IN('M','F')),
  5  SAL NUMBER
  6  )
  7  /

Table created.

SQL> 



А поставим зпт перед CHECK и получим out of line:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SQL> DROP TABLE VASIA PURGE;

Table dropped.

SQL> CREATE TABLE VASIA
  2  (EMPNO NUMBER,
  3  ENAME VARCHAR2(1000) NOT NULL,
  4  GENDER VARCHAR2(1), CHECK (GENDER IN('M','F')),
  5  SAL NUMBER
  6  )
  7  /

Table created.

SQL> 



Учи матчасть.

SY.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Пропадает невидимость у колонок VIEW, ora 12.2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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