zoukankan      html  css  js  c++  java
  • Oracle 12C -- Invisible Columns

    在12C中,当一个列被定义为"不可见"的时候,没有直接访问该列的sql语句是无法看到"不可见列"的,显式引用"不可见列"的语句是可以访问和操作该列的。

    在create table、create view、alter view、alter table的时候,都可以创建"不可见列"。

    比如以下的情形是无法使用"不可见列"的:

    ·使用通配符的语句,如:select * from tabname

    ·sql*plus中的desc命令

    ·pl/sql中的"%rowtype"类型

    ·insert into select * 语句

    测试脚本:

    SQL> drop table hasinvisiblecolumn;
    SQL> drop table needsinvisiblecolumn;
    SQL> create table hasinvisiblecolumn(id number,goodbye_column number invisible);
    SQL> create table needsinvisiblecolumn(id number,goodbye_column number);
    SQL> alter table needsinvisiblecolumn modify (goodbye_column invisible);
    SQL> select owner,table_name,column_name,hidden_column from dba_tab_cols where hidden_column='YES' and owner='SCOTT';
    
    OWNER                          TABLE_NAME                     COLUMN_NAME                    HID
    ------------------------------ ------------------------------ ------------------------------ ---
    SCOTT                          HASINVISIBLECOLUMN             GOODBYE_COLUMN                 YES
    SCOTT                          NEEDSINVISIBLECOLUMN           GOODBYE_COLUMN                 YES
    
    SQL>
    SQL> create table pkey(id number primary key,name varchar2(28));
    
    Table created.
    
    SQL> desc pkey;
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     ID                                        NOT NULL NUMBER
     NAME                                               VARCHAR2(28)
    
    SQL> alter table pkey modify(id invisible);
    
    Table altered.
    
    SQL> desc pkey;  
     Name                                      Null?    Type
     ----------------------------------------- -------- ----------------------------
     NAME                                               VARCHAR2(28)
    
    SQL> 
    
  • 相关阅读:
    read和write函数
    Android开发(20)--RadioGroup的使用
    利用Excel批量高速发送电子邮件
    NOTIFYICONDATA结构
    辞职信模板
    使用markdown语法撰写csdn博客
    算法笔记2-优先队列(堆)(上)
    湖南两初中女生水库溺亡的最新相关信息
    《cracking the coding intreview》——链表
    java算法集训代码填空题练习1
  • 原文地址:https://www.cnblogs.com/abclife/p/4720373.html
Copyright © 2011-2022 走看看