捷凌网安Oracle频道
中国IT教育
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 讨论
 您现在的位置: 捷凌网安 >> Oracle >> PLSQL >> 正文
详细讲述PLSQL的书写及语法

作者:佚名 责任编辑:左决 点击数: 更新时间:2008-3-27 0:41:28

   1.0摘要

//简要说明该文档内容

    SQL是用来访问关系型数据库一种通用语言,其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单的调用相应语句来直接取得结果即可。PL/SQL是一种过程化语言,因此可以用来实现比较复杂的业务逻辑。而本篇文章主要讲述PLSQL的书写及语法。

    2.0内容

//可自行增加小分类2.1等

    1、 PLSQL语法

1.1、程序结构

    PL/SQL程序都是以块(block)为基本单位。整个PL/SQL块分三部分:声明部分(用declare开头)、执行部分(以 begin开头)和异常处理部分(以exception开头)。其中执行部分是必须的,其他两个部分可选。无论PL/SQL程序段的代码量有多大,其基本结构就是由这三部分组成。而且每条语句均由分号隔开。

/*声明部分,以declare开头*/
DECLARE
    --declare statement 
/*执行部分,以begin开头,end结束*/
BEGIN
--execute statement
/*异常处理部分,以exception开始*/
EXCEPTION
    WHEN exceptioncase THEN
    --Exception handle
END; 

    例子:

/*声明部分,以declare开头*/
DECLARE
    v_job NUMBER(10);
 
/*执行部分,以begin开头*/
BEGIN
    DELETE FROM employee;
    INSERT INTO employee
                (depno, job
                )
         VALUES (20, 30
                );
   
    SELECT job
      INTO v_job
      FROM employee
     WHERE depno = 20;
   dbms_output.PUT_LINE(v_job);
/*异常处理部分,以exception开始*/
EXCEPTION
    WHEN no_data_found THEN
    dbms_output.PUT_LINE('No data.');
END; 

    执行结果:

   1.2、数据类型

    PL/SQL主要用于数据库编程,所以其所有数据类型跟oracle数据库里的字段类型是一一对应的,大体分为数字型、布尔型、字符型和日期型。

    1.3、控制结构

    PL/SQL程序段中有三种程序结构:条件结构、循环结构和顺序结构。

    a)、条件结构


 

IF condITion1 THEN
    statement1
ELSEIF condITon2 THEN
    statement2
ELSE
    statementelse
END IF; 

    b)、循环结构

    三种循环结构:

简单循环(也称作无限循环):
LOOP
    Loopstatement
END LOOP; 

WHILE 循环:
WHILE condITion LOOP
    loopstatement
END LOOP; 

数字FOR循环:
FOR variable IN low_bound . . upper_bound
LOOP
    loopstatement
END LOOP; 

    通常,如果你总是希望循环主体执行至少一次,那么你就应当使用一个简单循环。如果你希望在第一次运行循环主体之前检查该条件,则应使用 WHILE 循环。当你计划通过IN子句中指定的每个值(整数或记录)进行迭代时,则应当使用FOR循环。

    c)、顺序结构

    实际就是goto的运用,不过从程序控制的角度来看,尽量少用goto可以使得程序结构更加的清晰。

  • 上一篇文章:

  • 下一篇文章:
  •  
     最进更新
    普通文章如何获得Oracle DBA工作?05-11
    普通文章分别删除数据表记录的方法05-11
    普通文章实例讲解删除表空间时存在的05-11
    普通文章Oracle Wait Event:Data fil05-11
    普通文章重复利用这个外部表的表结构05-11
    普通文章Oracle 9i数据库的用户创建以05-11
    普通文章Oracle数据库应用程序中RAID05-11
    普通文章如何更改监听器设置05-11
    普通文章Oracle中SQL语句执行效率的查05-11
    普通文章掌握数据库链路的建立和使用05-11
     
     推荐文章
    推荐文章研究人员发现攻击Oracle数据04-30
    推荐文章研究人员找到新方法黑掉Orac04-30
    推荐文章数据库产业商业模式大猜想04-30
    推荐文章一种并发控制的精典案例04-30
    推荐文章讲解Oracle在Solaris下的性能04-30
    推荐文章Oracle中为什么会产生回滚与04-30
    推荐文章实例讲解sql_trace和access 04-30
    推荐文章Oracle数据库9i和10g环境下使04-30
    推荐文章Oracle数据库后台进程的具体04-30
    推荐文章Oracle数据库中Undo数据段的04-30
     
     热点文章
    普通文章PB内置Oracle数据库接口的使03-27
    普通文章用最简单的方法记录Oracle语03-27
    推荐文章教你快速掌握Oracle数据库的03-27
    推荐文章详细讲解"Oracle"数据库的“03-27
    普通文章深入讲解Oracle数据库的多栏03-27
    推荐文章教你快速掌握一个简单的Orac03-27
    推荐文章初学者应该如何理解Oracle的03-27
    普通文章怎样将"Oracle"的外部表汉字03-27
    推荐文章解决不同字符集数据库间的数03-27
    普通文章Oracle的window服务启动时并03-27

    | 设为首页 | 加入收藏 | 联系站长 | 广告服务 | 友情链接 | 版权申明 | 网站地图 |

    在线交流 捷凌网安主群:51649627
    Copyright 2007-2008 © 捷凌网安. All rights reserved.
    备案序号:蜀ICP备08001812号