WEB开发网
开发学院数据库DB2 DB2 9.5 SQL Procedure Developer认证考试 735 准... 阅读

DB2 9.5 SQL Procedure Developer认证考试 735 准备,第1部分

 2010-02-16 14:59:34 来源:WEB开发网   
核心提示:CASE语句SQL PL 支持两种类型的CASE语句,以根据一个条件的状态实现逻辑的分支:simple CASE语句用于根据一个字面值进入某个逻辑,DB2 9.5 SQL Procedure Developer认证考试 735 准备,第1部分(5),searched CASE语句用于根据一个表达式的值进入某个逻辑,清单

CASE语句

SQL PL 支持两种类型的CASE语句,以根据一个条件的状态实现逻辑的分支:

simple CASE语句用于根据一个字面值进入某个逻辑。

searched CASE语句用于根据一个表达式的值进入某个逻辑。

清单 12 显示了使用 searched CASE语句的一个存储过程的例子。

清单 12. 使用 searched CASE语句的存储过程

CREATE PROCEDURE sal_increase_lim1 (empid CHAR(6))
BEGIN
  DECLARE years_of_serv INT DEFAULT 0;
  DECLARE v_incr_rate DEC(9,2) DEFAULT 0.0;

  SELECT YEAR(CURRENT DATE) - YEAR(hiredate)
   INTO years_of_serv
   FROM empl1
   WHERE empno = empid;

  CASE 
   WHEN years_of_serv > 30 THEN
    SET v_incr_rate = 0.08;
   WHEN years_of_serv > 20 THEN
    SET v_incr_rate = 0.07;
   WHEN years_of_serv > 10 THEN
    SET v_incr_rate = 0.05;
   ELSE
    SET v_incr_rate = 0.04;
  END CASE;

  UPDATE empl1
    SET salary = salary+salary*v_incr_rate
  WHERE empno = empid;
END

迭代语句

SQL PL 支持一些重复执行某个逻辑的方法,包括简单的LOOP、WHILE循环、REPEAT循环和 FOR循环:

LOOP循环 -- 简单的循环

L1: LOOP

SQL statements;

LEAVE L1;

END LOOP L1;

WHILE循环 -- 进入前检查条件

WHILE condition

DO

SQL statements

END WHILE;

REPEAT循环 -- 退出前检查条件

REPEAT

SQL statements;

UNTIL condition

END REPEAT;

FOR循环 -- 结果集上的隐式循环

FOR loop_name AS

SELECT … FROM

DO

SQL statements;

END FOR;

上一页  1 2 3 4 5 6 7 8  下一页

Tags:DB SQL Procedure

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接