database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29658 게시물 읽기
No. 29658
프로시저 관련 질문입니다.
작성자
백승범(saneh)
작성일
2010-05-17 16:36
조회수
9,053

아래와 같은 프로시저를 만들었습니다.

ID 입력 받아서 같은 아이디가 있으면 더이상 프로시저를 실행하지 않고 PIT_RESULT에 0을 넣고 프로시저를 종료하려고 합니다.

MSSQL에서는 RETURN을 사용 하면 되던데 MYSQL에서는 어떻게 처리해야 하는지 답변 부탁드립니다.

CREATE PROCEDURE TEST(

IN PVC_USER_ID VARCHAR(20),

OUT PIT_RESULT INT

)

BEGIN

DECLARE VIT_CNT INT;

SELECT COUNT(*) FROM USER_INFO WHERE USER_ID = PVC_USER_ID INTO VIT_CNT;

IF VIT_CNT > 0 THEN

    SET PIT_RESULT = 0;

    /*종료처리*/

ELSE

    SET PIT_RESULT = 1;

END IF;

// 유저 생성

END

이 글에 대한 댓글이 총 2건 있습니다.

최신 버전은 모르겠습니다만, MySQL 5.0/5.1에서는 Stored procedure내에서 RETURN할 수 없습니다. Function에서만 가능하지요.

 

다만, LEAVE 구문을 이용하여 종료 처리하는 것이 가능합니다.

http://dev.mysql.com/doc/refman/5.0/en/leave-statement.html

 

레퍼런스에는 간략하게 설명되어 있지만, Luciano Fantuzzi가 작성한 세번째 코멘트를 통해서 사용 예제를 확인하실 수 있습니다.

박현우(lqez)님이 2010-05-19 09:45에 작성한 댓글입니다.

LEAVE였군요...

답변 감사드립니다. ^^

백승범(saneh)님이 2010-05-20 11:42에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29663리플리케이션 문의 [1]
돌머
2010-05-19
6705
29661아주 간단한 쿼리질문인데 잘 안되네요.. ㅠㅠ [3]
쿼리초보
2010-05-19
7126
29660아래 질문한거 재 질문입니다 [2]
윤은숙
2010-05-18
8055
29658프로시저 관련 질문입니다. [2]
백승범
2010-05-17
9053
29657oracle TO_NUMBER를 Mysql로 변경하기 [1]
인투폴
2010-05-17
15251
29656여러게의 필드를 하나인덱스에 넣었을때 어떤차이가 있나요. [2]
VQ
2010-05-17
8231
29655여러 클라이언트에서 데이터를 하나씩 꺼내갈때 [2]
김대일
2010-05-15
7464
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다