ستون نامریی(Invisible Column) در اوراکل 12c

ایجاد ستون نامریی از اوراکل 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);

ارتباط با نویسنده مطلب:vahidusefzadeh@ کانال تخصصی اوراکل و لینوکس: OracleDB@

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.