프로시저 cursor 사용 예

· 2년 전 · 821

 

 

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

 

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

 

 

 

 

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

개발자팁

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

+
분류 제목 글쓴이 날짜 조회
node.js 2년 전 조회 754
정규표현식 2년 전 조회 702
node.js 2년 전 조회 946
PHP 2년 전 조회 1,196
node.js 2년 전 조회 1,131
PHP 2년 전 조회 1,472
node.js 2년 전 조회 1,062
node.js 2년 전 조회 1,147
PHP 2년 전 조회 2,643
PHP 2년 전 조회 1,385
JavaScript 2년 전 조회 743
node.js 2년 전 조회 712
node.js 2년 전 조회 829
MySQL 2년 전 조회 875
MySQL 2년 전 조회 822
JavaScript 2년 전 조회 1,046
웹서버 2년 전 조회 4,196
PHP 2년 전 조회 982
PHP 2년 전 조회 1,457
기타 2년 전 조회 809
jQuery 2년 전 조회 2,142
2년 전 조회 634
2년 전 조회 1,237
2년 전 조회 1,110
PHP 2년 전 조회 1,083
MySQL 2년 전 조회 758
PHP 2년 전 조회 875
PHP 2년 전 조회 1,938
PHP 2년 전 조회 628
node.js 2년 전 조회 4,216
🐛 버그신고