本系列笔记为本人过去学习所写,适合有一定数据库(sql server等)基础的读者,希望对初学者有所帮助。
1.变量的定义
简单数据类型: 与数据库中创建表定义字段有点类似,前面是变量名,后面是数据类型,比如 id number;
需要注意的是,所有变量的定义必须是在declare块中.
复合数据类型: 有两种:
1.v_ename emp.ename%type 表示将v_emp的类型定义为emp表中的ename字段类型,这种定
义方式可不需知道emp表中的字段具体的类型.
2.v_emp emp%rowtype 表示将emp表中的各个字段数据类型定义给v_emp
2.程序流程
顺序结构:所有程序都是以 begin开始 以end结束的,顺序结构就是从上到下,直接运行.
分支结构:基本语法如下:
①if 条件 then 执行的语句 end if;
②if 条件 then 执行的语句 elsif 条件 then 执行的语句 end if
在上两种结构中一般我们会在最后一个if执行语句后加上一个else分支作今后的扩展
用,可先用null;
③case 变量 when 常量 then 执行的语句 end case
④case when 条件 then 执行语句 end case
在上两种结构中一般我们会在最后一个执行语句后加上一个else语句,目的是防止case语
句中无条件匹配的情况
循环结构:
①先判断,再循环: while (条件) loop 循环块 end loop;
②先执行一次,再判断循环: loop 循环块 end loop,注意在循环块中需要我们自己定
义一个跳出循环的条件,当条件满足时通过exit;语句来跳出循环
③循环固定次数:for 变量名字 in 变量的起始和结束值(比如:1..100) loop 循环块
end loop;
3.异常处理
异常处理我们需要用到exception关键字,一般格式为:
exception when 处理类型 then 处理的方法
一般情况下,只要一个程序中可能会出现异常,那不管我们是否将所有可能的异常处理完,我们都需要在最后一个异常处理位置加上exception when others then XXX,目的是为了防止人为操作出现的漏掉的异常处理.
在异常处理的方法块中我们可以利用 sqlcode和sqlerrm 得到该异常的异常号,异常描述等信息.
自定义异常:raise_application_error(number,varchar2);其中number表示该异常的异常号,ORACLE允许用户定义的异常号范围为:-20001到-29999.varchar2表示对异常的描述,注意该定义方式并不是处理了异常,而是将异常抛出.
还有一种异常很容易出现,经常使用,但为了方便用户不去记忆异常号等信息,ORACLE公司将他们定义成了预定义异常,这些异常都有自己的异常名字,一般来说见名知意,很容易使用.
扩展与提升:
1.如何使用&和&&:目前看来除了在PL/SQL的测试窗口不能用以外,其他地方都能用,他们都会弹出一个可供用户输入的对话框,区别在于:每次运行的时候&都会要求输入,而&&只在第1次运行的时候要求输入.
2.伪列:有两种rowid和rownum,区别在于:rowid是显示该数据在磁盘上的位置,而rownum是显示在该数据库中的行号;
3.哑表dual:多用于计算,个人认为该表其实不存在,就像sql server中计算列一样不需要引用表,但这又是ORACLE在计算列时不可缺少的操作.
4.ORACLE中常见的函数:
①to_char(date,String),其中,date是一个日期类型的参数,String表示需要将date参数中的哪部分以字符串形式输出,比如:'yyyy'表示输出年份.注意该函数是将date类型转换为String类型.
②to_date(String,String),第一个字符串表示需要转换为date类型的字符串,比如'2005-01-03',第2个字符串参数表示转换成什么格式,比如'yyyy-mm-dd'表示年-月-日,两个字符串是一一对应的
③空值nvl函数,是很重要的函数之一:格式为nvl(name,value),表示如果所在字段name中的数据为null,则将他赋值为value的值,在数据库中null值有3个重要的特点:不能比较,不能运算,不能统计
④decode
背都写痛了,不过有收获就是很好的........
<!-- -->
分享到:
相关推荐
NULL 博文链接:https://fly533.iteye.com/blog/638525
Oracle学习笔记精华版Oracle学习笔记精华版Oracle学习笔记精华版Oracle学习笔记精华版
Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记
Oracle非常有用的笔记。。。。。。。。。。。Oracle学习笔记Oracle学习笔记Oracle学习笔记Oracle学习笔记
oracle学习笔记 oracle学习笔记oracle学习笔记 oracle学习笔记
oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记
Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...
本文档主要是网易云李兴华老师进行授课时所作笔记,从Oracle11g数据库的安装到复杂查询做了详细的文档记录。
oracle学习笔记,包含所有oracle概念,包,函数,oracle的组成,oracle的plsq,oracle的存储过程,oracle的事务等
oracle学习笔记-入门基础-01-张园
分享给需要的朋友们韩顺平oracle学习笔记.pdf 大家来下载吧!
资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...
学习oracle知识笔记整理,包括pl/sql编程,过程、函数、游标开发等。
oracle学习笔记
超详细Oracle学习笔记,详细记录了oracle的学习过程中遇到的各种问题及基础知识,适合初中级oracle使用人员学习参考。
Oracle学习笔记
Oracle学习笔记第一册OracleOracle学习笔记第一册学习笔记第一册