WEB开发网
开发学院数据库DB2 DB2存储过程开发最佳实践 阅读

DB2存储过程开发最佳实践

 2007-09-04 16:22:47 来源:WEB开发网   
核心提示: 如果输入参数错误,存储过程应返回一个明确的值告诉客户应用,DB2存储过程开发最佳实践(3),然后客户应用可以根据返回的值进行处理,或者向存储过程提交新的参数,否则就会返回piName本身的值,下面的例子展示了如何对参数进行检查何初始化,或者去调用其他的程序, 根据业务逻辑

如果输入参数错误,存储过程应返回一个明确的值告诉客户应用,然后客户应用可以根据返回的值进行处理,或者向存储过程提交新的参数,或者去调用其他的程序。

根据业务逻辑,对输入参数作一定的预处理,如大小写的转换,NULL 与空字符串或 0 的转换等。

在 DB2 储存过程开发中,如需要遇到对空(NULL)进行初始化,我们可以使用 COALESCE 函数。COALESCE函数返回第一个非空的参数,语法如下:

清单1:COALESCE 函数

                 .---------------.
      (1)         V        |
>>-COALESCE-------(--expression----,--expression-+--)----------><

COALESCE函数会依次检查输入的参数,返回第一个不是NULL的参数,只有当传入COALESCE函数的所有的参数都是NULL的时候,函数才会返回NULL。例如, COALESCE(piName,''),如果变量piName为NULL,那么函数会返回'',否则就会返回piName本身的值。

下面的例子展示了如何对参数进行检查何初始化。

Person表用来存储个人的基本信息,其定义如下:

表1: Person

DB2存储过程开发最佳实践

下面是用于向表Person插入数据的存储过程的参数预处理部分代码:

  SET poGenStatus = 0;       
                   
  SET piName  = RTRIM(COALESCE(piName, ''));
  SET piRank = COALESCE(piRank, 0);
                     
  -- make sure all required input parameters are not null
  IF ( piNum IS NULL       
     OR piName = ''   
     OR piAge IS NULL ) 
  THEN               
    SET poGenStatus = 34100;   
    RETURN poGenStatus;     
  END IF;    

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

Tags:DB 存储 过程

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