DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第 1 部分
2010-10-01 16:37:04 来源:WEB开发网若要从一个过程中返回结果集,需要:
创建一个过程,创建时指定 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;
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接