12c 新特性-隐藏列

隐藏列

在11G中,Oracle就引入了不可见索引和虚拟字段的形式。12c继续发扬光大,引入了不可见字段。

之前的版本我们往往会创建视图来隐藏某些字段,12c中so easy。

在12c中,你可以创建通过invisible关键词来创建/修改某个字段为不可见。这一字段在查询中不会出现,除非指定这个字段。同样插入数据的时候也一样,默认是不向不可见字段插数据。

如:

1.创建一个新表,并指定sal为隐藏字段

SQL> create table test_a(name varchar2(50),age number,sal number invisible);
Table created.
SQL> select * from test_a;
no rows selected

--不指定字段插入:

SQL> insert into test_a values(‘lei‘,25,5000);
insert into test_a values(‘lei‘,25,5000)
            *
ERROR at line 1:
ORA-00913: too many values

--默认是不向不可见字段插数据。

SQL> insert into test_a values(‘lei‘,25);
1 row created.

--指定字段插入

SQL> insert into test_a(name,age,sal) values(‘lei‘,25,5000);
1 row created.

--不指定字段,则不显示隐藏字段

SQL> col name for a10
SQL> select * from test_a;
NAME  AGE
---------- ----------
lei   25
lei   25

--指定字段查询

SQL> select name,age,sal from test_a;
NAME  AGE     SAL
---------- ---------- ----------
lei   25
lei   25    5000

2.修改字段为隐藏/可见字段

SQL> alter table test_a modify(sal visible);
Table altered.
SQL> select * from test_a;
NAME  AGE     SAL
---------- ---------- ----------
lei   25
lei   25    5000
SQL> alter table test_a modify(sal invisible);
Table altered.
SQL> select * from test_a;
NAME  AGE
---------- ----------
lei   25
lei   25

注意:临时表,外部表和集群表不支持不可见列

如:

SQL> create global temporary table test_b as select * from test_a;
Table created.

没有不可见字段

SQL> desc test_b;
 Name   Null?    Type
 ----------------------------------------- -------- ----------------------------
 NAME    VARCHAR2(50)
 AGE    NUMBER

修改为不可见字段

SQL> alter table test_b modify(age invisible);
alter table test_b modify(age invisible)
            *
ERROR at line 1:
ORA-54042: Invisible column is not supported on this type of table.

不支持。

转:http://www.cndba.cn/Expect-le/article/247

时间: 2024-10-12 00:06:20

12c 新特性-隐藏列的相关文章

11g新特性与12c新特性

1. 11g新特性概图 管理新特性> 开发新特性> 2. 12c 新特性概图

Oracle DB 12c新特性:raw device 裸设备不再受支持

Oracle DB 12c新特性:raw device 不再受支持. 参考自: Announcement of De-Support of using RAW devices in Oracle Database Version 12.1 (Doc ID 578455.1) 细节: De-Support of Raw 本文的目录是通知在oracle database 12.1版本中对raw device不再支持. 这意味着,若是使用oracle database 12.1版本,将不能把数据文件,

Oracle WebLogic Server 12c 新特性

美国时间2011年 12月9日,Oracle公司正式发布WebLogic 12c版本,c是cloud的缩写.截止当前(2013年8月)最新版本为Oracle WebLogic Server 12c (12.1.2).12c 最大的功能改进是完全支持Java EE 6标准,此版本主要基于 JDK 6,但支持JDK 7.开发人员可以下载163MB的ZIP版本 Oracle WebLogic Server 12c 提供了对客户和合作伙伴的重大增强来降低其总体拥有成本并向现有应用架构提供更多价值,于此同

Oracle 12C 新特性之扩展数据类型(extended data type)

Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字符的大小会降低对LOB数据类型的使用.为了启用扩展字符大小,你必须将MAX_STRING_SIZE的初始数据库参数设置为EXTENDED. 实验流程:1.查看参数max_string_size默认值SQL> show parameter max_string_sizeNAME     TYPE VA

Oracle中表添加带有默认值列的讨论(包括12C新特性)

这个问题是我一直都在关注的问题. 11G关于这个问题已经有了改善,到了12C更是多了一些新特性 关于11G的新特性讨论,参考我这篇博客http://blog.csdn.net/dbcrocodile/article/details/21170407 12C关于这方面是在11G新特性上进行添加的. 11G中添加一列并设置默认值,不会对表中实际数据做更改,而是通过对数据字典中做标记 我们查询的时候,会对新列做一个类似nvl()之类的操作,如果是null,则返回默认的数值. 但是,看如下语句 SQL>

Oracle 12c 新特性之 数据库内归档(In-Database Archiving)

Oracle Database 12c中引入了 In-Database Archiving的新特性, 该特性允许用户通过对表上的数据行标记为inactive不活跃的,以归档数据. 这些inactive的数据行可以通过压缩进一部优化,且对应用来说默认不可见.该特性可以对现有代码做最少改动的情况下,实现了这种"标记删除"的功能和需求. 12c之前:有些应用有"标记删除"的概念,即不是删除数据,而是数据依然保留在表中,只是对应用不可见而已.这种需求通常通过如下方法实现:1

Oracle Database 12c 新特性总结(一)

本系列文章是Oracle ACE总监Syed Jaffer Hussain对Oracle数据库12c的一些新特性总结,包括数据库管理.RMAN.高可用性以及性能调优等内容. 1. 在线重命名和重新定位活跃数据文件 不同于以往的版本,在Oracle数据库12c R1版本中对数据文件的迁移或重命名不再需要太多繁琐的步骤,即把表空间置为只读模式,接下来是对数据文件进行离线操作.在12c R1中,可以使用ALTER DATABASE MOVE DATAFILE这样的SQL语句对数据文件进行在线重命名和移

Oracle 12c新特性对于业务上的一些影响总结

1.不可见字段 在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性.继承前者并发扬光大,Oracle 12c R1中引入了不可见字段思想.在之前的版本中,为了隐藏重要的数据字段以避免在通用查询中显示,我们往往会创建一个视图来隐藏所需信息或应用某些安全条件. 在12c R1中,你可以在表中创建不可见字段.当一个字段定义为不可见时,这一字段就不会出现在通用查询中,除非在SQL语句或条件中有显式的提及这一字段,或是在表定义中有DESCRIBED.要添加或是

Oracle 12c新特性(For DBA)

一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性,内建的多分租(Multi-tenancy),一个容器数据库(container database)中可以存放多个Pluggable Databases,每个Pluggable Database均独立于其他Pluggable Database. 对于外部应用程序和开发者来说,Pluggable Databases看上去就是一个普通的12.1版本之前的单