`
llc
  • 浏览: 17180 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Oracle学习笔记(一)

阅读更多

本系列笔记为本人过去学习所写,适合有一定数据库(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

 背都写痛了,不过有收获就是很好的........

<!-- -->
分享到:
评论
1 楼 geqinnantong2 2012-08-02  
    

相关推荐

    oracle学习笔记一

    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 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记oracle 个人学习笔记

    Oracle学习笔记.doc

    Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...

    Oracle学习笔记 PDF

    本文档主要是网易云李兴华老师进行授课时所作笔记,从Oracle11g数据库的安装到复杂查询做了详细的文档记录。

    Oracle学习笔记.pdf

    oracle学习笔记,包含所有oracle概念,包,函数,oracle的组成,oracle的plsq,oracle的存储过程,oracle的事务等

    oracle学习笔记-入门基础

    oracle学习笔记-入门基础-01-张园

    韩顺平oracle学习笔记.pdf

    分享给需要的朋友们韩顺平oracle学习笔记.pdf 大家来下载吧!

    Oracle学习笔记-日常应用、深入管理、性能优化

    资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...

    oracle学习笔记整理

    学习oracle知识笔记整理,包括pl/sql编程,过程、函数、游标开发等。

    oracle学习笔记

    oracle学习笔记

    oracle学习笔记.txt

    超详细Oracle学习笔记,详细记录了oracle的学习过程中遇到的各种问题及基础知识,适合初中级oracle使用人员学习参考。

    Oracle学习笔记_(PDF版)

    Oracle学习笔记

    Oracle学习笔记第一册

    Oracle学习笔记第一册OracleOracle学习笔记第一册学习笔记第一册

Global site tag (gtag.js) - Google Analytics