DB2 SQL存储过程语法官方权威指南

来源: 作者: 2007-10-26 出处:pcdog.com

db2  ssh  存储过程  存储过程语法  调用存储过程  
上一页 1 2 3 

  8、INHERIT SPECIAL REGISTERS:表示继承专用寄存器。

  9、OLD SAVEPOINT LEVEL or NEW SAVEPOINT LEVEL:建立存储点。OLD SAVEPOINT LEVEL是默认的存储点。

  10、LANGUAGE SQL:指定程序的主体用的是SQL语言。

  11、EXTERNAL ACTION or NO EXTERNAL ACTION:表示存储过程是否执行一些改变理数据库状态的活动,而不通过数据库管理器管。默认是

  EXTERNAL ACTION。如果指定为NO EXTERNAL ACTION ,则数据库会确定最最佳优化方案。

  12、PARAMETER CCSID:指定所有输出字符串数据的编码,默认为UNICODE编码数据库为PARAMETER CCSID UNICODE,其他的数据库默认为PARAMETER CCSID 3 ASCII。

  13、SQL-procedure-body:存储过程的主体

  例子1:产生一个SQL存储过程,返回员工的平均薪水. 返回所有员工超过平均薪水的数额,结果集包括name, position, and salary字段(参考数据库为db2的示例数据库sample)。

  CREATEPROCEDUREMEDIAN_RESULT_SET(OUTmedianSalaryDOUBLE)
  RESULTSETS1
  LANGUAGESQL
  BEGIN
  DECLAREv_numRecordsINTDEFAULT1;
  DECLAREv_counterINTDEFAULT0;
  DECLAREc1CURSORFOR
  SELECTCAST(salaryASDOUBLE)
  FROMstaff
  ORDERBYsalary;
  DECLAREc2CURSORWITHRETURNFOR
  SELECTname,job,CAST(salaryASINTEGER)
  FROMstaff
  WHEREsalary>medianSalary
  ORDERBYsalary;
  DECLAREEXITHANDLERFORNOTFOUND
  SETmedianSalary=6666;
  SETmedianSalary=0;
  SELECTCOUNT(*)INTOv_numRecords
  FROMSTAFF;
  OPENc1;
  WHILEv_counter<(v_numRecords/2+1)
  DO
  FETCHc1INTOmedianSalary;
  SETv_counter=v_counter+1;
  ENDWHILE;
  CLOSEc1;
  OPENc2;
  END


更多内容请看PCdog.com--db2 存储过程  DB2存储和备份  DB2技术技巧专题
上一页 1 2 3 
上一篇:DB2中创建一个汉字拼音首字母的SQL函数
下一篇:详解DB2在AIX上如何卸载并重新安装