테스트 사이트 - 개발 중인 베타 버전입니다

프로시저 cursor 사용 예

· 2년 전 · 767

 

 

전편 에서 테스트용 디비에 "제목"을 넣어줄 컬럼 하나 추가

 

3555059405_1690697801.422.png

 

 

 

자유게시판에서 gildong2 라는 아이디로 데이터를 찾아서 "키" 와 "제목" 을

테스트용 디비에 인서트 하고 삭제 해라 라는 프로시저 입니다.

 

 

아래는 파라미터.

3555059405_1690697897.0588.png

 

 

 

 

아래는 프로시저 본문 내용

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
BEGIN
   DECLARE endOfRow BOOLEAN DEFAULT FALSE;   -- 루프의 끝 여부
 
    DECLARE aa INTEGER;  -- wr_id 와 매치
    DECLARE bb VARCHAR(255);  -- wr_subject 와 매치
    
    -- cursor1 을 만들어 줍니다.  복수개의 데이터를 담음.
    DECLARE CURSOR1 CURSOR FOR  
        SELECT   wr_id , wr_subject FROM g5_write_free 
         WHERE  MB_ID = Param1
        ;    
    
    
    DECLARE CONTINUE HANDLER 
        FOR NOT FOUND SET endOfRow = TRUE;    
    
 
    OPEN CURSOR1;    -- 커서1 을 열기
        integrity_loop : LOOP
        
           -- idCursor 에서 값을 추출 aa , bb 에 넣고 있음
            FETCH CURSOR1 INTO aa , bb ;  
 
            IF endOfRow THEN
                LEAVE integrity_loop;  -- 마지막 행이면 루프 밖으로 나감.
            END IF;    
 
            INSERT INTO g5_test_proc1( DATA1 , TEXT1 ) VALUES( aa , bb );
            
            DELETE FROM g5_write_free  WHERE wr_id = aa;
        
        END LOOP integrity_loop;
    CLOSE CURSOR1;      -- 커서1 을 닫기
 
END
cs

 

 

 

 

프로시저 실행

CALL TEST_PROC2( 'gildong2' , @RESULT);

 

 

 

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
17443
17442
17441
17440
17438
17436
17435
17433
17432
17430
17426
17416
17413
17401
17391
17379
17375
17374
17362
17350
17348
17341
17339
17335
17334
17333
17332
17331
17330
17329