濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > DB2編程序技巧 (四)

DB2編程序技巧 (四)

熱門標(biāo)簽:智能語音外呼系統(tǒng)打電話 電銷外呼系統(tǒng)違規(guī) 南京外呼系統(tǒng)租用 400電話辦理2273649Z空間 怎樣在地圖標(biāo)注自己的信息 濟(jì)南電銷外呼防封卡怎么樣 400電話怎么申請(qǐng)收費(fèi)標(biāo)準(zhǔn) 寧夏外呼系統(tǒng)方案 高德地圖標(biāo)注生成
正在看的db2教程是:DB2編程序技巧 (四)。1.10 預(yù)防字段空值的處理
SELECT DEPTNO ,DEPTNAME ,COALESCE(MGRNO ,'ABSENT'),ADMRDEPT
FROM DEPARTMENT
   COALESCE函數(shù)返回()中表達(dá)式列表中第一個(gè)不為空的表達(dá)式,可以帶多個(gè)表達(dá)式。
   和oracle的isnull類似,但isnull好象只能兩個(gè)表達(dá)式。


1.11 取得處理的記錄數(shù)
declare v_count int;
update tb_test set t1='0'
where t2='2';
--檢查修改的行數(shù),判斷指定的記錄是否存在
get diagnostics v_ count=ROW_COUNT;     
只對(duì)update,insert,delete起作用.
不對(duì)select into 有效


1.12 從存儲(chǔ)過程返回結(jié)果集(游標(biāo))的用法
1、建一sp返回結(jié)果集
CREATE PROCEDURE DB2INST1.Proc1 (  )
    LANGUAGE SQL
    result sets 2(返回兩個(gè)結(jié)果集)
------------------------------------------------------------------------
-- SQL 存儲(chǔ)過程 
------------------------------------------------------------------------
P1: BEGIN
        declare c1 cursor  with return to caller for 
            select  market_code
            from    tb_market_code;
        --指定該結(jié)果集用于返回給調(diào)用者
        declare c2 cursor  with return to caller for 
            select  market_code
            from    tb_market_code;
         open c1;
         open c2;
END P1                                       


2、建一SP調(diào)該sp且使用它的結(jié)果集

CREATE PROCEDURE DB2INST1.Proc2 (
out out_market_code char(1))
    LANGUAGE SQL
------------------------------------------------------------------------
-- SQL 存儲(chǔ)過程 
------------------------------------------------------------------------
P1: BEGIN

 declare loc1,loc2 result_set_locator varying; 
--建立一個(gè)結(jié)果集數(shù)組
call proc1;
--調(diào)用該SP返回結(jié)果集。
associate result set locator(loc1,loc2) with procedure proc1;
--將返回結(jié)果集和結(jié)果集數(shù)組關(guān)聯(lián)
 allocate cursor1 cursor for result set loc1;
 allocate cursor2 cursor for result set loc2;
--將結(jié)果集數(shù)組分配給cursor
fetch  cursor1 into out_market_code;
--直接從結(jié)果集中賦值
close cursor1;         

END P1

3、動(dòng)態(tài)SQL寫法
     DECLARE CURSOR C1 FOR STMT1; 
     PREPARE STMT1 FROM
        'ALLOCATE C2 CURSOR FOR RESULT SET ?';
4、注意:
一、 如果一個(gè)sp調(diào)用好幾次,只能取到最近一次調(diào)用的結(jié)果集。
二、 allocate的cursor不能再次open,但可以close,是close sp中的對(duì)應(yīng)cursor。

1.13 類型轉(zhuǎn)換函數(shù)
select cast ( current time as char(8)) from tb_market_code

1.14 存儲(chǔ)過程的互相調(diào)用
目前,c sp可以互相調(diào)用。
Sql sp 可以互相調(diào)用,
Sql sp 可以調(diào)用C sp,
但C sp 不可以調(diào)用Sql sp(最新的說法是可以)

1.15 C存儲(chǔ)過程參數(shù)注意
create procedure pr_clear_task_ctrl(
IN IN_BRANCH_CODE char(4),
  

[1] [2] 下一頁(yè)

正在看的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將不能調(diào)用該用c寫的存儲(chǔ)過程,產(chǎn)生保護(hù)性錯(cuò)誤)
NO DBINFO
FENCED
MODIFIES SQL DATA
EXTERNAL NAME 'pr_clear_task_ctrl!pr_clear_task_ctrl'@



上一頁(yè)  [1] [2] 

標(biāo)簽:唐山 潛江 茂名 長(zhǎng)白山 仙桃 貴港 惠州 平頂山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《DB2編程序技巧 (四)》,本文關(guān)鍵詞  DB2,編程序,技巧,四,DB2,編程序,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《DB2編程序技巧 (四)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于DB2編程序技巧 (四)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    平泉县| 凌源市| 海林市| 茶陵县| 永和县| 烟台市| 五家渠市| 临漳县| 常山县| 阿瓦提县| 寿光市| 迁安市| 长泰县| 江都市| 吴堡县| 金川县| 容城县| 吐鲁番市| 郯城县| 手游| 呼伦贝尔市| 新沂市| 醴陵市| 上高县| 永城市| 九龙坡区| 新野县| 东辽县| 陵水| 合山市| 惠州市| 临泉县| 延津县| 蒙城县| 洛扎县| 兴仁县| 屏东县| 房产| 福海县| 宣武区| 永登县|