oracle 12c 新特性之不可见字段
来源:互联网 发布:如何使用数据透视表 编辑:程序博客网 时间:2024/05/19 12:37
在Oracle 11g R1中,Oracle以不可见索引和虚拟字段的形式引入了一些不错的增强特性。继承前者并发扬光大,Oracle 12c 中引入了不可见字段思想。在之前的版本中,为了隐藏重要的数据字段以避免在通用查询中显示,我们往往会创建一个视图来隐藏所需信息或应用某些安全条件。
在12c中,你可以在表中创建不可见字段。当一个字段定义为不可见时,这一字段就默认不会出现在通用查询中,除非在SQL语句或条件中有显式的提及这一字段,或是在表定义中有DESCRIBED。要添加或是修改一个不可见字段是非常容易的,反之亦然。
实验:
1. 创建一个表,指定passwd为不可见字段
SQL>create table invisible_t(id int,name varchar2(20),passwd varchar2(20) invisible);
2. 向表中插入数据
SQL>insert into invisible_t values(1,'andy',1);
ERROR at line 1:
ORA-00913: too many values
SQL> insert into invisible_t(id,name,passwd) values(1,'andy',1);
1 row created.
SQL> insert into invisible_t(id,name) values(2,'andy02');
1 row created.
3. 查询情况
SQL> select * from invisible_t;
ID NAME
---------- --------------------
1 andy
2 andy02
SQL> select id,name from invisible_t;
ID NAME
---------- --------------------
1 andy
2 andy02
SQL> select id,name,passwd from invisible_t;
ID NAME PASSWD
---------- -------------------- --------------------
1 andy 1
2 andy02
4.修改字段为可见字段或不可见字段
SQL> alter table invisible_t modify(passwd visible);
Table altered.
SQL> select * from invisible_t;
ID NAME PASSWD
---------- -------------------- --------------------
1 andy 1
2 andy02
SQL> alter table invisible_t modify(passwd invisible);
Table altered.
SQL> select * from invisible_t;
ID NAME
---------- --------------------
1 andy
2 andy02
-- 创建时未指定为不可见字段,若之后想修改为不可见字段,也可以。
SQL> alter table invisible_t modify(name invisible);
Table altered.
SQL> alter table invisible_t modify(name visible);
Table altered.
在12c中,你可以在表中创建不可见字段。当一个字段定义为不可见时,这一字段就默认不会出现在通用查询中,除非在SQL语句或条件中有显式的提及这一字段,或是在表定义中有DESCRIBED。要添加或是修改一个不可见字段是非常容易的,反之亦然。
实验:
1. 创建一个表,指定passwd为不可见字段
SQL>create table invisible_t(id int,name varchar2(20),passwd varchar2(20) invisible);
2. 向表中插入数据
SQL>insert into invisible_t values(1,'andy',1);
ERROR at line 1:
ORA-00913: too many values
SQL> insert into invisible_t(id,name,passwd) values(1,'andy',1);
1 row created.
SQL> insert into invisible_t(id,name) values(2,'andy02');
1 row created.
3. 查询情况
SQL> select * from invisible_t;
ID NAME
---------- --------------------
1 andy
2 andy02
SQL> select id,name from invisible_t;
ID NAME
---------- --------------------
1 andy
2 andy02
SQL> select id,name,passwd from invisible_t;
ID NAME PASSWD
---------- -------------------- --------------------
1 andy 1
2 andy02
4.修改字段为可见字段或不可见字段
SQL> alter table invisible_t modify(passwd visible);
Table altered.
SQL> select * from invisible_t;
ID NAME PASSWD
---------- -------------------- --------------------
1 andy 1
2 andy02
SQL> alter table invisible_t modify(passwd invisible);
Table altered.
SQL> select * from invisible_t;
ID NAME
---------- --------------------
1 andy
2 andy02
-- 创建时未指定为不可见字段,若之后想修改为不可见字段,也可以。
SQL> alter table invisible_t modify(name invisible);
Table altered.
SQL> alter table invisible_t modify(name visible);
Table altered.
0 0
- oracle 12c 新特性之不可见字段
- oracle 12c:新特性-不可见字段
- oracle12c新特性(3)-不可见字段
- Oracle 11g新特性:索引不可见
- ArcSDE10.2.1使用Oracle12c新特性——不可见字段(Invisible Field)
- Oracle11g新特性-不可见索引
- Oracle 12c新特性
- Oracle 12c 新特性
- Oracle 11g 新特性 -- Invisible Indexes(不可见的索引) 说明
- Oracle 11g 新特性 -- Invisible Indexes(不可见的索引) 说明
- Oracle 11g新特性invisible index(不可见的索引)
- Oracle 12c 新特性之 Multitenant Architecture (一)
- Oracle 12c 新特性之 Multitenant Architecture (二)
- Oracle 12c 新特性之 Multitenant Architecture (三)
- Oracle 12c 新特性之 Multitenant Architecture (四)
- Oracle 12c 新特性之 Multitenant Architecture (五)
- Oracle 12c 新特性之 In-Database Archiving
- Oracle 12C 新特性之临时undo控制
- 函数,初等函数
- 2017 Redhat广东省信息安全竞赛 Writeup
- 简述perl的引用(包括标量、数组、hash等数据类型的引用)
- Kubernetes总架构图
- HDMI基本原理
- oracle 12c 新特性之不可见字段
- Java IO流(四) File
- 没有删除的二叉搜索树
- 【复杂网络学习笔记】2:无标度网络的建立
- 二进制与文本
- JAVA定时任务的几种实现
- grpc++不支持异步多次写入
- 垃圾收集器
- 浏览器同源政策及其规避方法