ORACLE REFERENCES FRO TEST
【JSU】LJDragon's Oracle course notes In the first semester, junior year
Oracle考前复习
试题结构分析:
1.选择题2x10,共20分(Oracle基本概念,基本SQL语句)
2.判断题2x5,共10分(Oracle基本概念,基本SQL语句)
3.填空题2x10,共20分(Oracle基本概念,基本SQL语句)
4.简答题4x5,共20分(事务的四大特性;游标的四大特性)
5.代码编程30分(PL/SQL编程:游标)
1.选择题2x10,共20分(Oracle基本概念,基本SQL语句)
参考1-4章:http://www.cnblogs.com/anstoner/p/6227837.html
2.判断题2x5,共10分(Oracle基本概念,基本SQL语句)
参考1-4章:http://www.cnblogs.com/anstoner/p/6227837.html
3.填空题2x10,共20分(Oracle基本概念,基本SQL语句)
事务四大特性(简称ACID) (这个地方扣了我6分,考前忘记看了)
1、原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行
2、一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致。
3、隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的。
4、持久性(Durability):对于任意已提交事务,系统必须保证该事务对数据库的改变不被丢失,即使数据库出现故障。
参考1-4章:http://www.cnblogs.com/anstoner/p/6227837.html
4.简答题4x5,共20分(事务的四大特性;游标的四大特性)
1.说下char(),varchar2(),nchar(),nvarchar2()的区别:
2.说下rowid,rownum,row_number()的区别:
位长的字符 |
5.主要用于分页(好像上课说过) |
5.待补充..... |
3.说下union, union all的区别
不会排序 |
|
3.合并速度会比较慢 |
3.合并速度比较快 |
4.说下 delete ,truncate 区别
Delete |
truncate |
1.可以带条件删除 |
1.不可以带条件删除,是清空整个表的记录 |
2.记录日志 |
2.不记录日志 |
3.不删除表空间 |
3.删除表空间 |
4.可以回滚数据 |
4.不可以回滚数据 |
5.是DML语句 |
5.是DDL语句 |
6.删除速度比较慢 |
6.删除速度比较 |
5.说下 主键,唯一索引的区别
主键 |
唯一索引 |
1.一个表只有一个主键 |
1.一个表可以有多个唯一索引 |
2.主键字段要非空 |
2.唯一索引可以为空值 |
3.主键可以作为其他表的外键 |
3.待补充.... |
exsits和in 的区别
1.exist,not exist一般都是与子查询一起使用. In可以与子查询一起使用,也可以直接in (a,b.....)。
2.exist会针对子查询的表使用索引. not exist会对主子查询都会使用索引. in与子查询一起使用的时候,只能针对主查询使用索引. not in则不会使用任何索引. 注意,一直以来认为exists比in效率高的说法是不准确的。
3.in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询
显示游标的四个基本步骤
1.定义游标 cursor 游标变量名 is 查询语句;
2.打开游标 open 游标变量名;(可以重复打开)
3.提取游标 fetch 游标变量名 into 变量名;
4.关闭游标 close 游标变量名;
游标的四个属性
1.游标变量名%FOUND 布尔型属性,当最近一次读记录时成功返回,则值为TRUE;
2.游标变量名%NOTFOUND 和%found相反
3.游标变量名%ISOPEN 布尔型属性,当游标已打开时返回 TRUE;
4.游标变量名%ROWCOUNT 数字型属性,返回已从游标中读取的记录数
ddl,dml,dcl,tcl分别是什么语言,并举例说明
(1)数据查询语言(DQL:)eg: select
(2)数据操纵语言(DML:Data Manipularion Language)eg:modify,delete
(3)事务控制语言(TCL) eg:commit,rollback
(4)数据定义语言(DDL:Data Definition Language) eg:create,truncate
(5)数据控制语言(DCL:Data Control Language)eg: GRANT、DENY、REVOKE
在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言
5.代码编程30分(PL/SQL编程:游标)
树状结构查询的语法
--树状结构的表设计
--两个关键字段:id ,parenid
--parenid引用自己表的主键
--树查询,递归查询,分级查询
--分两个方向
--起始节点
--向上
--向下
--查询7566下所有的员工
- start with empno = 7566--起始位置
--查询7566上面所有的领导
- start with empno = 7566--起始位置
--伪列:level显示层级序号n
- start with t.empno = 7566--起始位置
--过滤单个节点 条件是写在where 后面
- start with t.empno = 7566--起始位置
--过滤整个分支 写在connect by prior语句的最后面
PL/SQL之游标
--查询输出10号部门的所有员工(编号,姓名,工资)
- v_empno emp.empno%type;
- v_ename emp.ename%type;
- v_sal emp.sal%type;
- open emp_cursor;
- dbms_output.put_line(emp_cursor%ROWCOUNT);
- dbms_output.put_line(emp_cursor%ROWCOUNT);
- dbms_output.put_line('true');
- dbms_output.put_line('false');
- dbms_output.put_line(v_empno||','||v_ename||','||v_sal);
- close emp_cursor;
- end;
--loop循环
- v_empno emp.empno%type;
- v_ename emp.ename%type;
- v_sal emp.sal%type;
- open emp_cursor;
- loop
- dbms_output.put_line(v_empno||','||v_ename||','||v_sal);
- end loop;
- close emp_cursor;
- end;
--while loop
- declare
- cursor emp_cursor is
- select empno,ename,sal from emp where deptno = 10;
- v_empno emp.empno%type;
- v_ename emp.ename%type;
- v_sal emp.sal%type;
- begin
- open emp_cursor;
- fetch emp_cursor into v_empno,v_ename,v_sal;
- while emp_cursor%found loop
- dbms_output.put_line(v_empno||','||v_ename||','||v_sal);
- fetch emp_cursor into v_empno,v_ename,v_sal;
- end loop;
- close emp_cursor;
- end;
--参照类型
- e emp%rowtype;
- open emp_cursor;
- loop
- dbms_output.put_line(e.empno||','||e.ename||','||e.sal);
- end loop;
- close emp_cursor;
- end;
--游标for循环
--带参数的for循环游标
--最精简版
ORACLE REFERENCES FRO TEST的更多相关文章
- ORACLE_CLASS_ENDING
[JSU]LJDragon's Oracle course notes In the first semester, junior year Oracle考前复习 试题结构分析: 1.选择题2x10, ...
- How to Write Doc Comments for the Javadoc Tool
http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html This document describe ...
- 【转】DBA需要的技能
dba掌握的技术 1. os : linux,solaris或其他unix起码要一种 2. bash (不精通也要熟) LINUX与UNIX SHELL编程 ...
- Oracle Created Database Users: Password, Usage and Files References (文档 ID 160861.1)
This document is no longer actively maintained, for info on specific (new) users in recent product e ...
- Oracle数据库-primary key/foreign key和references关系
主要介绍一下个人对主键(primary key).外键(foreign key).候选键(Candidate key).超键(super key).references的总结 概念: 主键:用户选择元 ...
- Oracle Database 11g express edition
commands : show sys connect sys as sysdba or connect system as sysdba logout or disc clear screen or ...
- [转]Oracle快速入门
原文出处:http://blog.csdn.net/yueguanghaidao/article/details/7019377 select * from scott.salgrade; /*解锁s ...
- Oracle使用触发器和mysql中使用触发器的比较——学习笔记
一.触发器 1.触发器在数据库里以独立的对象存储, 2.触发器不需要调用,它由一个事件来触发运行 3.触发器不能接收参数 --触发器的应用 举个例子:校内网.开心网.facebook,当你发一个日志, ...
- ORACLE中STATUS为INACTIVE但是SERVER为SHARED状态的会话浅析
我们知道当ORACLE数据库启用共享服务器模式时,通过共享服务器模式连接到数据库的会话是有一些特征的.在v$session里面,其SERVER的状态一般为SHARED和NONE, 为SHARED时,表 ...
随机推荐
- el和jstl
<%@page import="cn.bdqn.bean.News"%> <%@ page language="java" import=&q ...
- hdu 1728
//hdu 1728 //这个是一道很经典的迷宫题了,思路感觉...取起点和终点,判断连线是否超过n个弯, //先是从起点出发,上下左右四个方向搜索,找到一条路,把那条路的第一个点压入队列 //然后沿 ...
- ASP.NET 2.0服务器控件开发的基本概念(转载)
利用ASP.NET 2.0技术,创建Web自定义服务器控件并不是一件轻松的事情.因为,这需要开发人员了解并能够灵活应用多种Web开发技术,例如,CSS样式表.客户端 脚本语言..NET开发语言.服务器 ...
- JS时间的计算,当前日期加一天或者几天的计算
//alert();//debugger;var newriqi="";var jjd=defaultForm.getCellById(sjyxjid).getText();var ...
- angularjs directive中@ = &使用详解
这段时间在学习angularjs,对directive指令的绑定策略弄了好久才明白,现在做下笔记方便以后查阅,若有错误欢迎指出. 为了使新的指令作用域能访问当前的作用域的一些属性,通常会使用@.=.& ...
- iOS 网络与多线程--2.同步Get方式的网络请求(阻塞)
通过Get请求方式同步获取网络数据.一旦发送同步请求,程序将停止用户交互,直至服务器返回数据. 之后在视图控制器文件(ViewController.m)内添加以下代码 在viewDidLoad函数内添 ...
- JQuery EasyUI 对话框的使用方法
下面看一下EasyUI的对话框效果图 js代码: 复制代码代码如下: <script language="javascript" type="text/javasc ...
- C# 操作电脑 关机 重启 注销 休止 休眠
// 关机 强制电脑10秒之内关机 //System.Diagnostics.Process.Start("shutdown", "-s -f -t 10"); ...
- 【C++学习之路】派生类的构造函数(一)
一.简单派生类的构造函数 1.所谓简单派生类,就是指派生类中不包含基类的内嵌对象的派生类. 2.一般来说,这样的派生类的构造函数的形式是: student( int i, string nam, in ...
- CentOS 7 之安装X Window System
网上说的直接 yum groupinstall "Desktop"经实验,在我的机器上是无效的.我使用的是: yum groupinstall 'GNOME Desktop' 才o ...