大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 数据库 -> DB2 -> DB2编程序技巧 (四)

DB2编程序技巧 (四)

时间: 2021-08-13 作者:daque

1.10 提防字段空值的处置 select deptno ,deptname ,coalesce(mgrno ,'absent'),admrdept from department    coalesce因变量归来()中表白式列表中第一个不为空的表白式,不妨带多个表白式。    和oracle的isnull一致,但isnull好象只能两个表白式。       1.11 博得处置的记载数 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.12 从保存进程归来截止集(游标)的用法 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.13 典型变换因变量 select cast ( current time as char(8)) from tb_market_code 1.14 保存进程的彼此挪用 暂时,c sp不妨彼此挪用。 sql sp 不妨彼此挪用, sql sp 不妨挪用c sp, 但c sp 不不妨挪用sql sp(最新的讲法是不妨) 1.15 c保存进程参数提防 create procedure pr_clear_task_ctrl( in in_branch_code char(4),               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'@

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.