프로시저 cursor 사용 예 > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

프로시저 cursor 사용 예 정보

MySQL 프로시저 cursor 사용 예

본문

 

 

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

 

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);

 

 

 

 

추천
0

댓글 0개

전체 5,352
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT