视图:

  视图叫虚表,即是在哪个表上建立的视图,将那个表的数据用一条查询sql语句查出的数据展现在该视图中,对这个视图操作就是只能对该视图中的数据进行操作,该操作也会保存在建立的表中。可以理解为表上表,视图为该表的子表。

CREATE OR REPLACE VIEW myview AS     --建立视图

SELECT * FROM books WHERE price>30;   --将表中符合条件的数据放入视图中
SELECT * FROM myview;            --查询视图中的数据
INSERT INTO myview VALUES('','ABC',23,5);  --插入数据,插入到了原表中 但视图中不存在,因为价格为23
CREATE OR REPLACE VIEW v_read AS
SELECT eid,ename FROM emp
WITH READ ONLY; --不允许更改数据

 

同义词:

   一个对象的替代名字,利用同义词可以 很方便的操纵不同用户模式下的对象。如访问scott下的dept表必须是SELECT * FROM scott.dept,一般表名过长可用简单的同义词来替代;

CREATE SYNONYM dept FOR scott.dept;
DROP SYNONYM dept;

这样在此用户下(即创建同义词的用户下)用SELECT * FROM dept;语句即可。

CREATE PUBLIC SYNONYM dept FOR scott.dept; --创建公共的同义词,任何用户下都能用

序列:如果需要整型、递增的数字时使用较多。

CREATE SEQUENCE myseq
START WITH 1 --默认起始位置1
INCREMENT BY 1 --默认一次递增1
ORDER --排序
NOCYCLE; --不循环即一直递增往下排 会访问磁盘 影响性能
SQL>SELECT myseq.NEXTVAL FROM dual; --查询下一个值1

SQL>SELECT myseq.NEXTVAL FROM dual; --查询下一个值2

SQL>SELECT myseq.NEXTVAL FROM dual; --查询下一个值3

SQL>SELECT myseq.CURRVAL FROM dual; --查询当前值3 只有查询了下一个值后才可查询当前值
CREATE TABLE auto(a number,b varchar2(10));    --创建表

INSERT INTO auto VALUES(myseq.NEXTVAL,'dfd');  --将序列插入

INSERT INTO auto VALUES(myseq.NEXTVAL,'dfd');  --将序列插入

INSERT INTO auto VALUES(myseq.NEXTVAL,'dfd');  --将序列插入
ALTER SEQUENCE myseq INCREMENT BY 3; --修改每次递增为3,但不能更改当前值

Oracle PL/SQL高级应用 视图 同义词 序列的更多相关文章

  1. oracle PL/SQL高级特性

    触发器:存放在数据库中,并被隐含执行的存储过程. 由触发事件,触发条件,触发操作组成. DML触发器:指定触发器时机(before or after),触发事件(insert  , delete, u ...

  2. Oracle PL/SQL 高级编程

    1. 复合数据类型--记录类型 Ø        语法格式 type  类型名 is   record ( 字段1  字段1类型 [not null]:=表达式1; 字段2  字段2类型 [not n ...

  3. Oracle PL/SQL高级应用 存储过程

    有名字的Plsql块,成为Oracle的对象,在以后用到时可以直接调用. CREATE OR REPLACE PROCEDURE myproc(id IN varchar2) IS -IN 为输入参数 ...

  4. Oracle PL/SQL高级应用 游标

    游标可以处理SQL语句查询出来的结果集,进行逐条控制,其实游标在内存中申请空间,将自己指向SQL语句查询出来的结果集,有点像指针的感觉,游标使SQL更加的灵活. DECLARE CURSOR mycu ...

  5. Oracle.PL/SQL高级

    一.匿名块 .使用returning ... INTO 保存增删改表数据时的一些列的值 ()增加数据时保存数据 DECLARE v_ename emp.ename%TYPE; v_sal emp.sa ...

  6. ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍

    如果我是C罗 原文 ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍 sequence在ORACLE中应用十分广泛,就是序列号的意思,会自动增加指定变数,如逐次增加1或者2或者 ...

  7. oracle学习笔记(十七) PL/SQL高级应用

    PL/SQL高级应用 动态SQL 在PL/SQL中,不能直接执行DDL(create,alter,drop),得使用动态SQL,当然,除了DDL,动态SQL也可以执行DML(select,insert ...

  8. Oracle+PL+SQL从入门到精通.丁士锋.清华大学出版社.2012

    \t第1篇 pl/sql开发入门第1章 oracle 11g数据库系统1.1 关系型数据库系统介绍1.1.1 什么是关系型数据模型1.1.2 数据库系统范式1.1.3 关系型数据库管理系统1.1.4 ...

  9. ORACLE PL/SQL编程详解

    ORACLE PL/SQL编程详解 编程详解 SQL语言只是访问.操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发.PL /SQL是一种高级数据库程序设 ...

随机推荐

  1. Jquery select 选中项中自定义的值

    给select 赋值,除了已有的value及text,新建一属性simple_name function GetDicOfficeList(dicType, sid) { $.ajax({ url: ...

  2. qml 相关的博客

    http://qt-project.org/wiki/SpaceAppsChallengeResources http://www.ics.com/blog https://www.ics.com/d ...

  3. Hduacm—5497

    #include <cstring> #include <cstdio> #include <iostream> using namespace std; type ...

  4. 套汇问题 Floyd

    问题:套汇. 思路:Floyd 代码: #include <cstdio> #include <cstdlib> #include <ctime> #define ...

  5. Elasticsearch Java Api--DeleteByQuery

    一.安装插件 要删除某个索引的一个type下的所有文档,相当于关系型数据库中的清空表操作.查阅了一些资料可以通过Delete-by-Query插件删除,首先使用插件管理器安装Delete-by-Que ...

  6. poj1274 二分匹配

    今天复习二分匹配,A 了一道模板题. 二分匹配需要理解增广路的寻找.用dfs来更新最大匹配.注意一些点:赋初值:愚蠢地把==写成了= ; 然后match的记值;每个点都要重新走一遍. #include ...

  7. SQL 插入日期时间 变量值

    --看看吧^^ CREATE TABLE #temp ( test datetime ) go --SQL: INSERT #temp SELECT 1.1 UNION ALL GO --SQL: I ...

  8. Struts2 的验证

    概述 一个健壮的 web 应用程序必须确保用户输入是合法.有效的. Struts2 的输入验证 –基于 XWork Validation Framework 的声明式验证:Struts2 提供了一些基 ...

  9. [vijos P1512] SuperBrother打鼹鼠

    这周好好码树状数组和线段树!!之前没写过二维树状数组,凭借一维的思路居然写了个比较像模像样的东西出来,原来我没那么脑残.唯一要注意的就是getsum四个矩形加减的边界条件,这里看了别人标程才意识到错误 ...

  10. sizeof和strlen区别

    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组.指针.类型.对象.函数等 数组:编译时分配的空间大小 指针:指针所占的空间, ...