PLSQL的书写及语法

   1.0摘要

//简要说明该文档内容

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

    2.0内容

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

    1、 PLSQL语法

1.1、程序结构

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

 

  1. /*声明部分,以declare开头*/
  2. DECLARE
  3.     --declare statement 
  4. /*执行部分,以begin开头,以end结束*/
  5. BEGIN
  6. --execute statement
  7. /*异常处理部分,以exception开始*/
  8. EXCEPTION
  9.     WHEN exceptioncase THEN
  10.     --Exception handle
  11. END; 

例子:

 

  1. /*声明部分,以declare开头*/
  2. DECLARE 
  3.     v_job NUMBER(10);
  4. /*执行部分,以begin开头*/
  5. BEGIN 
  6.     DELETE FROM employee;
  7.     INSERT INTO employee
  8.                 (depno, job
  9.                 )
  10.          VALUES (20, 30
  11.                 );
  12.     
  13.     SELECT job
  14.       INTO v_job
  15.       FROM employee
  16.      WHERE depno = 20;
  17.    dbms_output.PUT_LINE(v_job);
  18. /*异常处理部分,以exception开始*/
  19. EXCEPTION
  20.     WHEN no_data_found THEN
  21.     dbms_output.PUT_LINE('No data.');
  22. END;  

  

1.2、数据类型

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

    1.3、控制结构

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

    a)、条件结构

  1. IF condition1 THEN
  2.     statement1
  3. ELSEIF conditon2 THEN
  4.     statement2
  5. ELSE
  6.     statementelse
  7. END IF; 

b)、循环结构

    三种循环结构:

  1. 简单循环(也称作无限循环):
  2. LOOP
  3.     Loopstatement
  4. END LOOP;  
  5. WHILE 循环:
  6. WHILE condition LOOP
  7.     loopstatement
  8. END LOOP;  
  9. 数字FOR循环:
  10. FOR variable IN low_bound . . upper_bound 
  11. LOOP
  12.     loopstatement
  13. END LOOP; 

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

    c)、顺序结构

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值