如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
DB2存储过程入门实例我看到很多人要sql的存储过程的例子,所以我就把我以前写的发出来,和大家一起探讨!这段代码很全,有出错处理,游标动态定义,联合体用户的使用,分支和循环语句都有。CREATEPROCEDUREIPD.st_inter_PROF(INin_Transfer_iddec(6,0),INin_TRANS_TYPE_iddec(2,0),INin_begin_datetimestamp,INin_TRANSFER_namevarchar(1024),OUTo_err_noint,OUTo_err_msgvarchar(1024))LANGUAGESQL--------------------------------------------------------------------------SQL存储过程----------------------------------------------------------------------------抽取acct_item_billingday,acct_item表----author:zsk2002/06/27----updatebyzskat2002/11/25asSZ----movefromoracletodb2bydengl2002-12-8assz----返回值结果:0:执行通过----1:执行不通过-----1:调用本过程时异常出错----联合体用户是ADMINISTRATORBILL.BILL.*/BILL.CAL.*---------------------------------------------------------------------------------------------------------------------------------------------P1:BEGIN--临时变量出错变量declarerecintegerdefault0;declareSQLCODEintegerdefault0;declarestmtvarchar(1024);declareat_endintegerdefault0;declarer_codeintegerdefault0;declarestatevarchar(1024)default'AAA';--记录程序当前所作工作declaretemp_intintegerdefault0;--声明变量declarev_cycle_strvarchar(1000);declarev_sql_strvarchar(2000);declaren_numbigint;declaren_rowsbigint;declaren_rows_allbigint;--声明放游标的值--声明动态游标存储变量declarec_bill_task_idinteger;declarebill_taskcursorfors1;--声明出错处理DECLAREEXITHANDLERFORSQLEXCEPTIONbeginsetr_code=SQLCODE;seto_err_no=1;seto_err_msg='处理'||state||'出错'||'错误代码SQLCODE:'||CHAR(r_code);end;DECLAREcontinueHANDLERfornotfoundbeginSETat_end=1;seto_err_no=100;end;--开始拉selectdeal_cycleintov_cycle_strfromipd.transfer_taskwheretransfer_id=in_transfer_Id;--v_cycle_str:='%'||v_cycle_str;ifin_trans_type_id=7thensetn_num=1;---将汇总数据写入任务表updateipd.transfer_tasksetrows_cnt=0wheretransfer_id=in_transfer_id;--声明动态游标setstmt='selectdistinctbill_task_idfromADMINISTRATOR.bill_task_cyclea,ADMINISTRATOR.billing_cyclebwheresubstr(char(b.CYCLE_BEGIN_DATE),1,4)||substr(char(b.CYCLE_BEGIN_DATE),6,2)='||char((integer(v_cycle_str)-1))||'anda.billing_cycle_id=b.billing_cycle_id';prepares1fromstmt;--executes1;op