12c New Feature: Invisible and Hidden Columns


buch2

You can now create invisible columns in your database. This means that when you create such column, that this will not affect you application and  you can fill it with data. When all preparation is done you can change it to a visible column.

Sample for creating a table with invisible columns:

  CREATE TABLE "SCOTT"."NEWEMP"
   (    "EMPNO" NUMBER(4,0),
        "ENAME" VARCHAR2(10),
        "JOB" VARCHAR2(9),
        "HIREDATE" DATE,
        "SAL" NUMBER(7,2) INVISIBLE,
        "COMM" NUMBER(7,2),
        "DEPTNO" NUMBER(2,0),
         CONSTRAINT "PK_NEWEMP" PRIMARY KEY ("EMPNO"))
  TABLESPACE "USERS";
SQL> desc scott.newemp
 Name             Null?    Type
 ---------------- -------- ----------------------------
 EMPNO            NOT NULL NUMBER(4)
 ENAME                     VARCHAR2(10)
 JOB                       VARCHAR2(9)
 HIREDATE                  DATE
 COMM                      NUMBER(7,2)
 DEPTNO                    NUMBER(2)

You can also add a invisible column to the table:

SQL> alter table scott.newemp add(mgr varchar(20) invisible);

You can now insert your data when explicitly referring the column.

SQL> insert into scott.newemp(empno,mgr,sal) values (1,10,100);

You can alter your invisible column to visible. Note that a invisible column is not the same as a system hidden column.

SQL> alter table scott.newemp modify (mgr visible);

There is also a way in sqlplus to show the invsible column describe commands.

SQL> SET COLINVISIBLE ON
SQL> desc scott.newemp
 Name                  Null?    Type
 --------------------- -------- ----------------------------
 EMPNO                 NOT NULL NUMBER(4)
 ENAME                          VARCHAR2(10)
 JOB                            VARCHAR2(9)
 HIREDATE                       DATE
 COMM                           NUMBER(7,2)
 DEPTNO                         NUMBER(2)
 MGR                            VARCHAR2(20)
 SAL (INVISIBLE)                NUMBER(7,2)
Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s