如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
db2自带的whiles.db2例子CREATEPROCEDUREdept_median(INdeptNumberSMALLINT,OUTmedianSalaryDOUBLE)LANGUAGESQLBEGINDECLARESQLCODEINTEGER;DECLARESQLSTATECHAR(5);DECLAREv_numRecordsINTDEFAULT1;DECLAREv_counterINTDEFAULT0;DECLAREv_modINTDEFAULT0;DECLAREv_salary1DOUBLEDEFAULT0;DECLAREv_salary2DOUBLEDEFAULT0;DECLAREc1CURSORFORSELECTCAST(salaryASDOUBLE)FROMstaffWHEREDEPT=deptNumberORDERBYsalary;DECLAREEXITHANDLERFORNOTFOUNDSETmedianSalary=6666;--initializeOUTparameterSETmedianSalary=0;SELECTCOUNT(*)INTOv_numRecordsFROMstaffWHEREDEPT=deptNumber;OPENc1;SETv_mod=MOD(v_numRecords,2);CASEv_modWHEN0THENWHILEv_counter<(v_numRecords/2+1)DOSETv_salary1=v_salary2;FETCHc1INTOv_salary2;SETv_counter=v_counter+1;ENDWHILE;SETmedianSalary=(v_salary1+v_salary2)/2;WHEN1THENWHILEv_counter<(v_numRecords/2+1)DOFETCHc1INTOmedianSalary;SETv_counter=v_counter+1;ENDWHILE;ENDCASE;END@