易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 学习:PL/SQL循序渐进全面学习教程

 课程十二 编写控制结构语句
  
  本课重点:
  1、结构控制的的用途和类型
  2、IF 结构
  3、构造和标识不同的循环
  4、使用逻辑表
  5、控制流和嵌套
  
  注意:以下实例中标点均为英文半角
  
  一、控制执行流
  可以是分支和循环:IF THEN END IF
  IF condition THEN
  statements;
  [ELSIF condition THEN
  statements;]
  [ELSE
  statements;]
  END IF;
  例子:IF V_ENAME='OSBORNE' THEN
  V_MGR:=22;
  END IF;
  这里我们可以注意,PLSQL和C语言或JAVA在条件上的不同,=代表关系运算,而:=代表赋值。
  看一个函数:
  create  FUNCTION calc_val
  (v_start IN NUMBER)
  RETURN NUMBER
  IS
  BEGIN
  IF v_start > 100 THEN
  RETURN (2 * v_start);
  ELSIF v_start >= 50 THEN
  RETURN (.5 * v_start);
  ELSE
  RETURN (.1 * v_start);
  END IF;
  END calc_val;
  现在,虽然我们尚未讲解CREATE 函数或过程,但可以看到IF 条件在其中的作用。
  二、注意LOGIC TABLE中的逻辑对应关系
  1、NOT、AND、OR
  2、任何表达式中含有空值结果都为 NULL
  3、连接字符串中含有空值会把NULL作为 EMPTY STRING
  declare
  v_deptno dept.deptno%type;
  v_loc dept.loc%type;
  V_FLAG BOOLEAN ;
  V_REC BOOLEAN :=FALSE; --此值改为TRUE、NULL、FALSE进行不同的比较
  V_AVA BOOLEAN:=NULL;
  begin
  V_FLAG:=V_REC AND V_AVA;
  IF V_FLAG=TRUE THEN
  DBMS_OUTPUT.PUT_LINE ('TRUE');
  ELSIF V_FLAG=FALSE THEN
  DBMS_OUTPUT.PUT_LINE ('FALSE');
  ELSE
  DBMS_OUTPUT.PUT_LINE ('NULL');
  END IF;
  end;
  /
  值得注意的是:NULL AND FALSE ---> FALSE
  这是在实践中总结出来的。
  三、基本循环基础:
  1、LOOP
  statement1;
  statement2;
  . . .
  EXIT [WHEN condition];
  END LOOP;
  v_ord_id s_item.ord_id%TYPE := 101;
  v_counter NUMBER (2) := 1;
  BEGIN
  . . .
  LOOP
  INSERT INTO s_item (ord_id, item_id)
  VALUES (v_ord_id, v_counter);
  v_counter := v_counter + 1;
  EXIT WHEN v_counter > 10;
  END LOOP;
 


相关文档:

oracle 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

Oracle 学习:PL/SQL循序渐进全面学习教程

  课程五 子查询
  
  本课重点:
  1、在条件未知的情况下采用嵌套子查询
  2、用子查询做数据处理
  3、子查询排序
  
  注意:以下实例中标点均为英文半角
  
  一、概述:
  子查询是一种SELECT句式中的高级特性,就是一个SELECT语句作为另一个语句的一个段。我们可以利用子查询来 ......

Oracle 学习:PL/SQL循序渐进全面学习教程

 课程六 运行时应用变量
  
  本课重点:
  
  1、创建一个SELECT语句,提示USER在运行时先对变量赋值。
  
  2、自动定义一系列变量,在SELECT运行时进行提取。
  
  3、在SQL PLUS中用ACCEPT定义变量
  
  注意:以下实例中标点均为英文半角
  
  一、概述:
  
  变量可 ......

Oracle 学习:PL/SQL循序渐进全面学习教程

 课程七 其他数据库对象
  
  SEQUENCE
  
  创建实例:
  
  SQL> CREATE SEQUENCE s_dept_id
  
  2 INCREMENT BY 1
  
  3 START WITH 51
  
  4 MAXVALUE 9999999
  
  5 NOCACHE
  
  6 NOCYCLE;
  
  Sequence created.
  
  1、NEXTVAL和CURRVAL的 ......

Oracle 学习:PL/SQL循序渐进全面学习教程

 课程九 声明变量
  
  本课重点:
  1、了解基本的PLSQL块和区域
  2、描述变量在PLSQL中的重要性
  3、区别PLSQL与非PLSQL变量
  4、声明变量
  5、执行PLSQL块
  
  注意:以下实例中标点均为英文半角
  
  一、概述:
  1、PLSQL 块结构:
  DECLARE --- 可选
  变量声 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号