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

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

 2010-10-01 16:37:04 来源:WEB开发网   
核心提示: 若要从一个过程中返回结果集,需要:创建一个过程,DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第 1 部分(7),创建时指定 DYNAMIC RESULT SETS 子句, 声明游标,END IF 子句是必需的,它用于表明 IF 语句的结束,声明时指定

若要从一个过程中返回结果集,需要:

创建一个过程,创建时指定 DYNAMIC RESULT SETS 子句。

声明游标,声明时指定 WITH RETURN 子句。

打开该游标,并使之保持 open 状态。

如果关闭该游标,则结果集将不能返回给调用者应用程序。

清单 10 演示了一个游标的声明,该游标从一个过程中返回一个结果集:

清单 10. 返回一个结果集的游标的声明

CREATE PROCEDURE emp_from_dept()
DYNAMIC RESULT SETS 1
P1: BEGIN
 DECLARE c_emp_dept CURSOR WITH RETURN
  FOR SELECT empno, lastname, job, salary, comm.
    FROM employee
    WHERE workdept = ‘E21’;
  OPEN c_emp_dept;
 END P1

游标处理

为了在一个过程中处理一个游标的结果,需要做以下事情:

在存储过程块的开头部分 DECLARE 游标。

打开该游标。

将游标的结果取出到之前已声明的本地变量中(隐式游标处理除外,在下面的 FOR 语句中将对此加以解释)。

关闭该游标。(注意:如果现在不关闭游标,当过程终止时将隐式地关闭游标)。

条件语句

SQL PL 中支持两种类型的条件语句 — IF 语句和 CASE 语句。

IF 语句

通过 IF 语句可以根据一个条件的状态来实现逻辑的分支。IF 语句支持使用可选的 ELSEIF 子句和默认的 ELSE 子句。END IF 子句是必需的,它用于表明 IF 语句的结束。

清单 11 展示了一个示例 IF 语句。

清单 11. IF 语句示例

  IF years_of_serv > 30 THEN
    SET gl_sal_increase = 15000;
  ELSEIF years_of_serv > 20 THEN
    SET gl_sal_increase = 12000;
  ELSE
    SET gl_sal_increase = 10000;
  END IF;

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:DB SQL Procedure

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