Invisible Columns in Oracle Database 12c Release 1 (12.1)
Oracle database 12c allows columns to be created or modified to make them invisible.
oracle 12cconfigurationintermediate
by OracleDba
17 views
Oracle database 12c allows columns to be created or modified to make them invisible.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
drop table tab1 purge;
create table tab1 (
id number,
description varchar2(50) invisible
);
desc tab1;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER
SQL>
insert into tab1 values (1);
commit;
select * from tab1;
ID
----------
1
SQL>
insert into tab1 (id, description) values (2, 'two');
commit;
select id, description
from tab1;
ID DESCRIPTION
---------- --------------------------------------------------
1
2 TWO
SQL>
SQL> desc tab1
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
ID NUMBER
SQL> set colinvisible on
SQL> desc tab1
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
ID NUMBER
DESCRIPTION (INVISIBLE) VARCHAR2(50)
SQL>1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
drop table tab1 purge;
create table tab1 (
a number,
b number,
c number invisible
);
column column_name format a15
select column_id,
column_name,
hidden_column
from user_tab_cols
where table_name = 'TAB1'
order by column_id;
COLUMN_ID COLUMN_NAME HID
---------- --------------- ---
1 A NO
2 B NO
C YES
SQL>
alter table tab1 modify b invisible;
alter table tab1 modify c visible;
select column_id,
column_name,
hidden_column
from user_tab_cols
where table_name = 'TAB1'
order by column_id;
COLUMN_ID COLUMN_NAME HID
---------- --------------- ---
1 A NO
2 C NO
B YES
SQL>
alter table tab1 modify b visible;
select column_id,
column_name,
hidden_column
from user_tab_cols
where table_name = 'TAB1'
order by column_id;
COLUMN_ID COLUMN_NAME HID
---------- --------------- ---
1 A NO
2 C NO
3 B NO
SQL>123456789101112131415161718192021222324252627282930313233343536373839
drop table tab1 purge;
create table tab1 (
id number not null,
description varchar2(50) not null,
created_date date invisible not null
);
column column_name format a20
select column_id,
column_name,
nullable,
hidden_column
from user_tab_cols
where table_name = 'TAB1'
order by column_id;
COLUMN_ID COLUMN_NAME N HID
---------- -------------------- - ---
1 ID N NO
2 DESCRIPTION N NO
CREATED_DATE N YES
SQL>
insert into tab1 values (1, 'one');
*
ERROR at line 1:
ORA-01400: cannot insert NULL into ("TEST"."TAB1"."CREATED_DATE")
SQL>
alter table tab1 modify created_date null;
insert into tab1 values (1, 'one');
1 row created.
SQL>Please to add comments
No comments yet. Be the first to comment!