ORACLE 12C新特性-DESC显示不可见字段
Feb122014
之前写过一篇关于12C新特性-不可见字段的文章,详见http://www.dbdream.com.cn/2014/01/19/oracle-12c%E6%96%B0%E7%89%B9%E6%80%A7-%E4%B8%8D%E5%8F%AF%E8%A7%81%E5%AD%97%E6%AE%B5/,今天在说下12C关于SQLPLUS有关不可见字段的增强,通过COLINVISIBLE的设置可以显示或屏蔽不可见字段,但是该功能只对DESCRIBE命令有效,SELECT操作还是不会显示不可见字段。还拿上次的测试表INVISIBLE_COL来测试。
SQL> select dbms_metadata.get_ddl('TABLE','INVISIBLE_COL','STREAM') FROM DUAL; DBMS_METADATA.GET_DDL('TABLE','INVISIBLE_COL','STREAM') -------------------------------------------------------------------------------- CREATE TABLE "STREAM"."INVISIBLE_COL" ( "ADDR" VARCHAR2(30) INVISIBLE, "ID" NUMBER, "NAME" VARCHAR2(20) ) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "USERS"
该测试表上的ADDR字段是不可见字段,正常情况下DESC和SELECT命令都看不到ADDR字段。
SQL> desc INVISIBLE_COL Name Null? Type ----------------------------------------- -------- ---------------------------- ID NUMBER NAME VARCHAR2(20) SQL> select * from INVISIBLE_COL; ID NAME ---------- ---------------------------------------- 1 dbdream 2 stream
下面打开COLINVISIBLE试试。
SQL> set COLINVISIBLE on SQL> desc INVISIBLE_COL Name Null? Type ----------------------------------------- -------- ---------------------------- ID NUMBER NAME VARCHAR2(20) ADDR (INVISIBLE) VARCHAR2(30) SQL> select * from INVISIBLE_COL; ID NAME ---------- ---------------------------------------- 1 dbdream 2 stream
打开COLINVISIBLE后,DESC命令就可以看到不可见字段了,该功能不支持SELECT操作,仅对DESCRIBE命令有效。
———————————————————-end——————————————————————