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时,表 ...
随机推荐
- 配置PPTP服务器
1.验证内核是否加载了MPPE模块: modprobe ppp-compress-18 && echo MPPE is ok 2.安装所需的软件包: yum -y install pp ...
- 字典与集合(Dictionary与Collection)
Dictionary对象将替换Collection对象,并提供附加的语言从而使增加和删除记录的速度比以前提高三倍 虽然Visual Basic 6.0只有很少的新特点,但是具有某些功能强大的新的对象模 ...
- JavaBean-Servlet-JavaServerPage(转)
1.servlet servlet是在服务器端执行的,具有良好的移植性,不论操作系统是Windows.Linux.Unix等等,都能将写好的Servlet程序放在这些操作系统上执行,是真正的写一次,到 ...
- mockito学习笔记
mockito http://mockito.github.io/mockito/docs/current/org/mockito/Mockito.html
- php5.3.3安装mongo扩展
/usr/bin/phpize./configure --with-php-config=/usr/bin/php-configmake && make install/usr/sbi ...
- IIS与ASP.NET 通信机制深度剖析
IIS5.X缺点: ISAPI 动态连接库被加载到InetInfo.exe 进程中,它和工作进程之间是一种典型的跨进程通信方式,尽管采用命名管道,但是仍然会带来性能的瓶颈. 所有的 ASP.NET 应 ...
- c# 预处理命令
在编译之前进行的处理. 预处理命令以符号“#”开头. #define 只能 定义符号 不能定义宏(#define PI 3.14 这是错的,在c#中没宏) #region #endregion #if ...
- MongoDB与PHP的添加、修改、查询、删除
链接数据库使用下面的代码创建一个数据库链接 <?php$connection = new Mongo(); //链接到 localhost:27017$connection = new Mong ...
- 迁移/home目录至新硬盘分区总结--无备份情况下
搞了一天,终于成功迁移.由于一开始就没备份过程实在很曲折. 希望本篇对那些没有备份习惯的朋友们有所帮助. 准备工作: sudo vim /etc/fstab 在文件中加入: /dev/sdb8 ...
- 使用C#代码追加和提交文件到SVN服务器
windows系统下使用svn的命令需要安装一个插件,下载地址:http://sourceforge.net/projects/win32svn/?source=typ_redirect 安装后程序会 ...