< 上一课 | 下一课 >

创建 SQL 存储过程

在本练习中,您将使用向导创建 DB2 SQL 存储过程。此简单存储过程用于当员工的组织标识与用户输入的值匹配时,从 EMP_EMPLOYEE_DIM 表返回员工信息。

在向导中,选择模板以用作存储过程中代码的基础。在本练习中,创建要在向导中选择的模板。对于简单存储过程,例如在本练习中创建的存储过程,通常会使用某个基本模板。但是也可以在本练习中创建模板,以便熟悉模板创建过程。

在工作台中创建例程时,您将源代码存储到项目工作空间中。

要创建 SQL 存储过程:

  1. 从现有模板中创建模板。
    1. 单击窗口 > 首选项 “首选项”窗口会打开。
    2. 展开数据管理 > SQL 开发 > 例程,然后单击模板
    3. 在“模板”页面上,向下滚动,直到看见第一个具有上下文 db2luw_sp_sql 的模板。 此模板的名称为“Custom: You supply the SQL, return a result set”。
    4. 单击此模板,然后单击编辑 “编辑模板”窗口会打开。
    5. 使用以下文本替换现有模板名称:GSDB4tutorial: Basic employee SEARCH statement
    6. 使用以下文本替换现有模板描述:Return ID, name, and organization of all employees in EMP_EMPLOYEE_DIM table.
    7. 在此模式中,删除前后两个注释行含有数字符号 (-- #################) 的所有注释行。
    8. 使用以下 SQL 语句替换 [Your SQL to execute goes here]
      		SELECT EMPLOYEE_CODE, FIRST_NAME,
      		       LAST_NAME, ORGANIZATION_CODE
      		  FROM EMP_EMPLOYEE_DIM;
      完成的模板包含以下信息:
      显示包含已完成模板的“编辑模板”窗口的截屏。
    9. 在“编辑模板”窗口中单击确定 会显示一个消息框,提示您指明是要使用新名称再创建一个模板还是重命名现有模板。
    10. 单击以创建新模板。 您的模板已添加到“模板”页面上的列表中。
    11. 在“首选项”窗口中单击确定
  2. 在“数据项目资源管理器”视图中,展开 SPDevelopment 项目以查找存储过程文件夹。
  3. 右键单击存储过程文件夹,然后选择新建 > 存储过程 “新建存储过程”向导会打开。
  4. 名称字段中,输入 SPEmployee
  5. 语言字段中,选择 SQL
  6. 选择 GSDB4tutorial: Basic employee SEARCH statement 模板,然后单击完成 向导将关闭,并且存储过程会在例程编辑器中打开,您可以在其中查看和编辑源代码

    此时,如果您已保存、部署和运行存储过程,那么结果将显示表中的所有员工。然而,我们希望将结果限制为仅显示 018 组织中的员工。

  7. 在编辑器中,执行以下操作:
    1. org 输入参数添加到过程声明中,这样声明将如下所示:
      CREATE PROCEDURE SPEmployee ( IN org CHAR(6) )
    2. 删除 EMP_EMPLOYEE_DIM 后的分号。
    3. 插入以下条件子句:
      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
  8. 保存存储过程,然后关闭例程编辑器。

存储过程 SPEmployee 会显示在“数据项目资源管理器”视图中该过程在其中创建的项目下的存储过程文件夹中。存储过程可供您部署。

< 上一课 | 下一课 >

反馈