DB2编程序技巧 (四)

2023-12-08 0 241

正在看的db2教程是:DB2编程序技巧 (四)。1.10 预防字段空值的处理 SELECTDEPTNO,DEPTNAME,COALESCE(MGRNO,\’ABSENT\’),ADMRDEPT FROMDEPARTMENT COALESCE函数返回()中表达式列表中第一个不为空的表达式,可以带多个表达式。 和oracle的isnull类似,但isnull好象只能两个表达式。 1.11 取得处理的记录数 declarev_countint; update tb_test set t1=\’0\’ where t2=\’2\’; –检查修改的行数,判断指定的记录是否存在 getdiagnostics v_count=ROW_COUNT; 只对update,insert,delete起作用. 不对selectinto有效 1.12 从存储过程返回结果集(游标)的用法 1、建一sp返回结果集 CREATEPROCEDUREDB2INST1.Proc1() LANGUAGESQL resultsets2(返回两个结果集) ———————————————————————— –SQL存储过程 ———————————————————————— P1:BEGIN declarec1cursorwithreturntocallerfor selectmarket_code fromtb_market_code; –指定该结果集用于返回给调用者 declarec2cursorwithreturntocallerfor selectmarket_code fromtb_market_code; openc1; openc2; ENDP1 2、建一SP调该sp且使用它的结果集 CREATEPROCEDUREDB2INST1.Proc2( outout_market_codechar(1)) LANGUAGESQL ———————————————————————— –SQL存储过程 ———————————————————————— P1:BEGIN declareloc1,loc2result_set_locatorvarying; –建立一个结果集数组 callproc1; –调用该SP返回结果集。 associateresultsetlocator(loc1,loc2)withprocedureproc1; –将返回结果集和结果集数组关联 allocatecursor1cursorforresultsetloc1; allocatecursor2cursorforresultsetloc2; –将结果集数组分配给cursor fetchcursor1intoout_market_code; –直接从结果集中赋值 closecursor1; ENDP1 3、动态SQL写法 DECLARECURSORC1FORSTMT1; PREPARESTMT1FROM \’ALLOCATEC2CURSORFORRESULTSET?\’; 4、注意: 一、 如果一个sp调用好几次,只能取到最近一次调用的结果集。 二、 allocate的cursor不能再次open,但可以close,是closesp中的对应cursor。 1.13 类型转换函数 selectcast(currenttimeaschar(8))fromtb_market_code 1.14 存储过程的互相调用 目前,csp可以互相调用。 Sqlsp可以互相调用, Sqlsp可以调用Csp, 但Csp不可以调用Sqlsp(最新的说法是可以) 1.15 C存储过程参数注意 createprocedurepr_clear_task_ctrl( ININ_BRANCH_CODEchar(4), &nbsp

[1][2]下一页

正在看的db2教程是:DB2编程序技巧 (四)。;ININ_TRADEDATEchar(8), ININ_TASK_IDchar(2), ININ_SUB_TASK_IDchar(4), OUTOUT_SUCCESS_FLAGINTEGER) DYNAMICRESULTSETS0 LANGUAGEC PARAMETERSTYLEGENERALWITHNULLS(如果不是这样,sql的sp将不能调用该用c写的存储过程,产生保护性错误) NODBINFO FENCED MODIFIESSQLDATA EXTERNALNAME\’pr_clear_task_ctrl!pr_clear_task_ctrl\’@

上一页[1][2]

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 DB2 DB2编程序技巧 (四) https://www.u-9.cn/database/db2/129123.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务