Oracle PL/SQL高级应用 视图 同义词 序列
视图:
视图叫虚表,即是在哪个表上建立的视图,将那个表的数据用一条查询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高级应用 视图 同义词 序列的更多相关文章
- oracle PL/SQL高级特性
触发器:存放在数据库中,并被隐含执行的存储过程. 由触发事件,触发条件,触发操作组成. DML触发器:指定触发器时机(before or after),触发事件(insert , delete, u ...
- Oracle PL/SQL 高级编程
1. 复合数据类型--记录类型 Ø 语法格式 type 类型名 is record ( 字段1 字段1类型 [not null]:=表达式1; 字段2 字段2类型 [not n ...
- Oracle PL/SQL高级应用 存储过程
有名字的Plsql块,成为Oracle的对象,在以后用到时可以直接调用. CREATE OR REPLACE PROCEDURE myproc(id IN varchar2) IS -IN 为输入参数 ...
- Oracle PL/SQL高级应用 游标
游标可以处理SQL语句查询出来的结果集,进行逐条控制,其实游标在内存中申请空间,将自己指向SQL语句查询出来的结果集,有点像指针的感觉,游标使SQL更加的灵活. DECLARE CURSOR mycu ...
- Oracle.PL/SQL高级
一.匿名块 .使用returning ... INTO 保存增删改表数据时的一些列的值 ()增加数据时保存数据 DECLARE v_ename emp.ename%TYPE; v_sal emp.sa ...
- ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍
如果我是C罗 原文 ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍 sequence在ORACLE中应用十分广泛,就是序列号的意思,会自动增加指定变数,如逐次增加1或者2或者 ...
- oracle学习笔记(十七) PL/SQL高级应用
PL/SQL高级应用 动态SQL 在PL/SQL中,不能直接执行DDL(create,alter,drop),得使用动态SQL,当然,除了DDL,动态SQL也可以执行DML(select,insert ...
- 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 ...
- ORACLE PL/SQL编程详解
ORACLE PL/SQL编程详解 编程详解 SQL语言只是访问.操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发.PL /SQL是一种高级数据库程序设 ...
随机推荐
- SecureCRT从本传相片到服务器的注意事项
rz -y -be 注意,要加上参数be
- 25个有用和方便的 WordPress 速查手册
如果你是一个 WordPress 编码器或开发人员,下载一些方便的 WordPress 备忘单寻找你的工作然后你在正确的地方.我们已经列出了25个有用的和方便的 WordPress 速查手册.Word ...
- centos 5.8 64位系统安装 mysql5.6
mysql5.5以上的版本编译需要 cmake 1 .安装cmake wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.g ...
- HDU 5763 Another Meaning
HDU 5763 Another Meaning 题意:一个字串有可能在模式串出现多次,问有多少种可能出现的情况.关键是有重合的字串是不能同时计入的. 思路:先用kmp求出所有字串的位置.然后,dp. ...
- LAMP整理
LAMP第一部分 查看编译了哪些软件:是编译时自动生成的 Cat /usr/local/apache2/build/config.nice 网站根目录存放处: /usr/local/apache2/h ...
- 查询使用NoLock
当我们在操作数据库的时候,无论是查询还是修改数据库的操作我们都习惯使用using(var db=new XXXDB()){},但是如果仅仅是做查询,最好是使用NoLock,因为NoLock使用的是共享 ...
- VBA读取固定文件夹中txt内容
Sub OneTxt() '打开一个txt文件 Dim Filename As Variant, extLine&, mArr() As String Dim i%, j%, txtpath ...
- Error initializing endpoint java.lang.Exception: Socket bind failed: [730048] ?????????×???(Э?é/???????/???)????í??
2010-5-18 22:00:38 org.apache.catalina.core.AprLifecycleListener lifecycleEvent 信息: The Apache Tomca ...
- 为ASP.NET MVC应用添加自定义路由
这里,我们将学习如何给asp.net mvc应用添加自定义路由.用自定义路由来修改默认路由表. 对一些简单的asp.net mvc应用,默认的路由表就已经足够了.但是,当你需要创建特殊的路由时,就需要 ...
- Android Phonebook编写联系人UI加载及联系人保存流程(三)
2014-01-07 09:54:13 将百度空间里的东西移过来. 本文从点击“添加联系人”Button开始,分析新建联系人页面UI是如何加载,以及新的联系人信息是如何保存的,借此,我们一探Phon ...