在本练习中,您将使用向导创建 DB2 SQL 存储过程。此简单存储过程用于当员工的组织标识与用户输入的值匹配时,从 EMP_EMPLOYEE_DIM 表返回员工信息。
在向导中,选择模板以用作存储过程中代码的基础。在本练习中,创建要在向导中选择的模板。对于简单存储过程,例如在本练习中创建的存储过程,通常会使用某个基本模板。但是也可以在本练习中创建模板,以便熟悉模板创建过程。
在工作台中创建例程时,您将源代码存储到项目工作空间中。
要创建 SQL 存储过程:
- 从现有模板中创建模板。
- 单击。 “首选项”窗口会打开。
- 展开,然后单击模板。
- 在“模板”页面上,向下滚动,直到看见第一个具有上下文 db2luw_sp_sql 的模板。 此模板的名称为“Custom: You supply the SQL, return a result set”。
- 单击此模板,然后单击编辑。 “编辑模板”窗口会打开。
- 使用以下文本替换现有模板名称:GSDB4tutorial: Basic employee SEARCH statement。
- 使用以下文本替换现有模板描述:Return ID, name, and organization of all employees in EMP_EMPLOYEE_DIM table.
- 在此模式中,删除前后两个注释行含有数字符号 (-- #################) 的所有注释行。
- 使用以下 SQL 语句替换 [Your SQL to execute goes here]:
SELECT EMPLOYEE_CODE, FIRST_NAME,
LAST_NAME, ORGANIZATION_CODE
FROM EMP_EMPLOYEE_DIM;
完成的模板包含以下信息:
- 在“编辑模板”窗口中单击确定。 会显示一个消息框,提示您指明是要使用新名称再创建一个模板还是重命名现有模板。
- 单击是以创建新模板。 您的模板已添加到“模板”页面上的列表中。
- 在“首选项”窗口中单击确定。
- 在“数据项目资源管理器”视图中,展开 SPDevelopment 项目以查找存储过程文件夹。
- 右键单击存储过程文件夹,然后选择。 “新建存储过程”向导会打开。
- 在名称字段中,输入 SPEmployee。
- 在语言字段中,选择 SQL。
- 选择 GSDB4tutorial: Basic employee SEARCH statement 模板,然后单击完成。 向导将关闭,并且存储过程会在例程编辑器中打开,您可以在其中查看和编辑源代码
此时,如果您已保存、部署和运行存储过程,那么结果将显示表中的所有员工。然而,我们希望将结果限制为仅显示 018 组织中的员工。
- 在编辑器中,执行以下操作:
- 将 org 输入参数添加到过程声明中,这样声明将如下所示:
CREATE PROCEDURE SPEmployee ( IN org CHAR(6) )
- 删除 EMP_EMPLOYEE_DIM 后的分号。
- 插入以下条件子句:
WHERE ORGANIZATION_CODE = org;
完成的存储过程包含以下代码:
CREATE PROCEDURE SPEmployee ( IN org CHAR(6) )
DYNAMIC RESULT SETS 1
P1: BEGIN
-- Declare cursor
DECLARE cursor1 CURSOR WITH RETURN for
SELECT EMPLOYEE_CODE, FIRST_NAME,
LAST_NAME, ORGANIZATION_CODE
FROM EMP_EMPLOYEE_DIM
WHERE ORGANIZATION_CODE = org;
-- Cursor left open for client application
OPEN cursor1;
END P1
- 保存存储过程,然后关闭例程编辑器。
存储过程 SPEmployee 会显示在“数据项目资源管理器”视图中该过程在其中创建的项目下的存储过程文件夹中。存储过程可供您部署。