DB2 프로그램 작성 기법(4)

보고 있 는 db2 강 좌 는 DB2 프로그램 작성 기법(4)입 니 다.1.10 예방 필드 빈 값 처리 SELECT DEPTNO ,DEPTNAME ,COALESCE(MGRNO ,'ABSENT'),ADMRDEPT FROM DEPARTMENT    COALESCE 함 수 는()의 표현 식 목록 에서 첫 번 째 로 비어 있 지 않 은 표현 식 을 되 돌려 줍 니 다.여러 표현 식 을 가 져 올 수 있 습 니 다.   Oacle 의 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 에 만 작용 합 니 다. 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;  --결과 집합 배열 콜 만 들 기 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.주의:1.sp 가 여러 번 호출 되면 최근 호출 된 결과 집합 만 얻 을 수 있 습 니 다.2.allocate 의 cursor 는 다시 열 수 없 지만 close 는 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),   [1]  [2]   다음 페이지보고 있 는 db2 강 좌 는 DB2 프로그램 작성 기법(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'@ 이전 페이지    [1]  [2]

좋은 웹페이지 즐겨찾기