创建表,region 列为不可见 ,使用desc的时候,列是看不到的
create table t2 (c1 varchar2(10),country char(2),nb number,region varchar2(20) invisible); SYS@test>create table t2 (c1 varchar2(10),country char(2),nb number,region varchar2(20) invisible); Table created. SYS@test>desc t2; Name Null? Type ----------------------------------------- -------- ---------------------------- C1 VARCHAR2(10) COUNTRY CHAR(2) NB NUMBER SYS@test>
设置参数 colinvisible 使列可见
set colinvisible on desc t2; SYS@test>set colinvisible on SYS@test>desc t2 Name Null? Type ----------------------------------------- -------- ---------------------------- C1 VARCHAR2(10) COUNTRY CHAR(2) NB NUMBER REGION (INVISIBLE) VARCHAR2(20) SYS@test>
向列中插入数据
insert into t2 values('aa','bb',1000,'cc'); insert into t2 values('aa','bb',1000); insert into t2 (c1,country,nb,region) values ('aa','bb',100,'dd'); SYS@test>insert into t2 values('aa','bb',1000,'cc'); insert into t2 values('aa','bb',1000,'cc') * ERROR at line 1: ORA-00913: too many values SYS@test>insert into t2 values('aa','bb',1000); 1 row created. SYS@test>insert into t2 (c1,country,nb,region) values ('aa','bb',100,'dd'); 1 row created. SYS@test>将列设置为可见
alter table t2 modify (region visible); SYS@test>alter table t2 modify (region visible); Table altered. SYS@test>desc t2 Name Null? Type ----------------------------------------- -------- ---------------------------- C1 VARCHAR2(10) COUNTRY CHAR(2) NB NUMBER REGION VARCHAR2(20) SYS@test>end