「这是我参与2022首次更文挑战的第21天,活动详情查看:2022首次更文挑战」。
1. 视图
视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。
视图它是建立在已有表的基础上, 赖以建立的这些表称为基表。
通过一张或者多张基表进行关联查询后组成一个虚拟的逻辑表。
查询视图,本质上是对表进行关联查询。
视图本身是不包含任何数据,只是一个查询结果,当基表的数据发生变化时,视图里面的数据也会跟着发生变化。向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的SELECT语句。视图向用户提供基表数据的另一种表现形式。
视图它可以使复杂的数据简单化,还可以对表结构设计的补充,控制数据的访问,避免重复访问相同的数据,增加了安全性。
注释: 数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。
创建格式:
CREATE VIEW AS SELECT ……
2. 同义词
同义词是Oracle对象的别名,使用同义词访问相同的对象,可以为表、视图、存储过程、函数或另一同义词等对象创建同义词,方便访问其它用户的对象,隐藏了对象的身份。
创建格式:
CREATE SYNONYM synonym_name FOR object
3. 序列
序列就是有顺序的数列。例如:123456789……
创建序列:
CREATE SEQUENCE 序列名称[ MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 1]
解释:创建序列,最小值是1,最大值是999999999999999999999999999,增量为1,开始于1。序列调用nextval将触发增量条件。序列只能向前走,不能向后退!
使用序列:
SELECT 序列名称.NEXTVAL FROM DUAL
查询序列当前值:
SELECT 序列名称. CURRVAL FROM DUAL
解释:
NEXTVAL就是Next Value,下一个值。
CURRVAL就是Current Value,当前值。
DUAL可以认为是系统的虚表,不存在的表,之所以FROM 后面跟DUAL是因为这条SQL语句的FROM不知该作用在哪张表,当不知道该作用在哪张表时就写DUAL。