ایجاد ستون نامریی از اوراکل 12c امکان پذیر شد این نوع از ستون، به صورت پیش فرض در لیست ستونهای جدول، قابل مشاهده نیستند و برای دسترسی به اطلاعات آن، باید به صراحت از نام این ستون در دستور استفاده کرد.
create table usef.tbl_invis(id number,name varchar2(9),sal number INVISIBLE);
SQL> desc usef.tbl_invis;
Name Null? Type
—————————————– ——– —————————-
ID NUMBER
NAME VARCHAR2(9)
همانطور که می بینید، ستون sal، در خروجی دستور describe قابل مشاهده نیست برای مشاهده این نوع از ستون در خروجی دستور desc، باید از دستور SET COLINVISIBLE ON استفاده کرد.
همچنین در زمان درج اطلاعات به این جدول، تنها با ذکر نام ستون، می توان اطلاعاتی را به آن اضافه کرد:
SQL> insert into usef.tbl_invis values(1,’usef’,2500);
ORA-00913: too many values
SQL> insert into usef.tbl_invis(id,name,sal) values(1,’usef’,2500);
1 row created.
SQL> commit;
Commit complete.
در هنگام اجرای پرس و جو، باید ستون مربوطه به صراحت ذکر شود تا در خروجی قابل رویت باشد:
SQL> select * from usef.tbl_invis;
ID NAME
———- ———
1 usef
1 usef
SQL> select id,name,sal from usef.tbl_invis;
ID NAME SAL
———- ——— ———-
1 usef
1 usef 2500
برای غیرفعال کردن خصیصه INVISIBLE ستون sal، باید دستور زیر را اجرا نمود:
SQL> ALTER TABLE usef.tbl_invis MODIFY (sal VISIBLE);