视图:

  视图叫虚表,即是在哪个表上建立的视图,将那个表的数据用一条查询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. 【转】数据库范式(1NF 2NF 3NF BCNF)详解二

    以下内容转自:http://jacki6.iteye.com/blog/774889 -------------------------分割线----------------------------- ...

  2. RAID在数据库存储上的应用-转

    随着单块磁盘在数据安全.性能.容量上呈现出的局限,磁盘阵列(Redundant Arrays of Inexpensive/Independent Disks,RAID)出现了,RAID把多块独立的磁 ...

  3. javascript 把字符串转换为对象

    function strToJson(str) { var json = (new Function("return " + str))(); return json;}

  4. js基础之数组

    数组方法 添加: push arr.push();//尾部添加 unshift arr.unshift();//头部添加 删除: pop arr.pop();//尾部删除 shift arr.shif ...

  5. c++ 普通高精除高精

    //codevs3118 高精度练习之除法 //打出了高精除高精,内心有点小激动. //还记得已开始学的时候非常难打 #include<cstdio>#include<cstring ...

  6. 其他窗体赋值给comboBox实现值的回显,并使赋的值处于选中状态(根据text获取selectedindex)

    Form1 发货单位的这个下拉框comboBox1已经绑定数据库test表的name字段,里面有很多单位名称 比如有:甲公司.乙公司... 1.Form1的comboBox1首先绑定数据库的数据表te ...

  7. EF Code-First数据迁移的尝试

    Code-First的方式虽然省去了大量的sql代码,但增加了迁移的操作.尝试如下: 1.首先要在“扩展管理器”里搜索并安装NuGet“库程序包管理器”,否则所有命令都不能识别,会报CommandNo ...

  8. java.lang.ExceptionInInitializerError

    java.lang.ExceptionInInitializerError at com.csdhsm.compiler.test.DevTest.testReadInput(DevTest.java ...

  9. 使用AppCan自带的升级功能实现移动端升级

    1.需要在AppCan项目的config.xml文件中设置“更新地址”,即在执行uexWidget.checkUpdate();时访问的后台页面地址,比如: http://192.168.0.10:8 ...

  10. ubuntu 添加源

    edit file :  /etc/apt/sources.list add: deb http://mirrors.163.com/ubuntu/ intrepid main restricted ...