正在看的db2教程是:DB2编程序技巧 (四)。1. 预防字段空值的处理 SELECT DEPTNO ,DEPTNAME ,COALESCE(MGRNO ,'ABSENT'),ADMRDEPT FROM DEPARTMENT COALESCE函数返回()中表达式列表中第一个不为空的表达式,可以带多个表达式。 和oracle的isnull类似,但isnull好象只能两个表达式。 1. 取得处理的记录数 declare v_count int; update tb_test set t1='0' where t2='2'; --检查修改的行数,判断指定的记录是否存在 get diagnostics v_ count=ROW_COUNT; 只对update,insert,delete起作用. 不对select into 有效 1. 从存储过程返回结果集(游标)的用法 1、建一sp返回结果集 CREATE PROCEDURE DB2INST1.Proc1 ( ) LANGUAGE SQL result sets 2(返回两个结果集) ------------------------------------------------------------------------ -- SQL 存储过程 ------------------------------------------------------------------------ P1: BEGIN declare c1 cursor with return to caller for select market_code from tb_market_code; --指定该结果集用于返回给调用者 declare c2 cursor with return to caller for select market_code from tb_market_code; open c1; open c2; END P1 2、建一SP调该sp且使用它的结果集 CREATE PROCEDURE DB2INST1.Proc2 ( out out_market_code char(1)) LANGUAGE SQL ------------------------------------------------------------------------ -- SQL 存储过程 ------------------------------------------------------------------------ P1: BEGIN declare loc1,loc2 result_set_locator varying; --建立一个结果集数组 call proc1; --调用该SP返回结果集。 associate result set locator(loc1,loc2) with procedure proc1; --将返回结果集和结果集数组关联 allocate cursor1 cursor for result set loc1; allocate cursor2 cursor for result set loc2; --将结果集数组分配给cursor fetch cursor1 into out_market_code; --直接从结果集中赋值 close cursor1; END P1 3、动态SQL写法 DECLARE CURSOR C1 FOR STMT1; PREPARE STMT1 FROM 'ALLOCATE C2 CURSOR FOR RESULT SET ?'; 4、注意: 一、 如果一个sp调用好几次,只能取到最近一次调用的结果集。 二、 allocate的cursor不能再次open,但可以close,是close sp中的对应cursor。 1. 类型转换函数 select cast ( current time as char(8)) from tb_market_code 1. 存储过程的互相调用 目前,c sp可以互相调用。 Sql sp 可以互相调用, Sql sp 可以调用C sp, 但C sp 不可以调用Sql sp(最新的说法是可以) 1. C存储过程参数注意 create procedure pr_clear_task_ctrl( IN IN_BRANCH_CODE char(4),  
推荐整理分享DB2编程序技巧 (四)(db2 -x),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:db2udb,db2教程视频,db2 -x,db2教程,db2使用教程,db2入门教程,db2入门教程,db2教程,内容如对您有帮助,希望把文章链接给更多的朋友!
[1] [2] 下一页
正在看的db2教程是:DB2编程序技巧 (四)。; IN IN_TRADEDATE char(8), IN IN_TASK_ID char(2), IN IN_SUB_TASK_ID char(4), OUT OUT_SUCCESS_FLAG INTEGER ) DYNAMIC RESULT SETS 0 LANGUAGE C PARAMETER STYLE GENERAL WITH NULLS(如果不是这样,sql 的sp将不能调用该用c写的存储过程,产生保护性错误) NO DBINFO FENCED MODIFIES SQL DATA EXTERNAL NAME 'pr_clear_task_ctrl!pr_clear_task_ctrl'@
上一页 [1] [2]
DB2编程序技巧 (三) 正在看的db2教程是:DB2编程序技巧(三)。另一种为pcursor1:forloopcs1ascousor1cursorasselectmarket_codeasmarket_codefromtb_market_codeforupdatedoendfor;这种方式的优点是比较简
DB2 UDB V8.1管理学习笔记(一) 正在看的db2教程是:DB2UDBV8.1管理学习笔记(一)。DB2基本概念在DB2中由上至下的几个概念:实例(Instance),数据库(Database),表空间(TableSpace),容器(Container)在一
DB2编程序技巧 (一) 正在看的db2教程是:DB2编程序技巧(一)。1DB2编程1.1建存储过程时CREATE后一定不要用TAB键.2使用临时表.3从数据表中取指定前几条记录.4游标的使用4注意