데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
말그대로
insert를 하는데요,
일단 @@ERROR 로 하는건 알겠는데 ,
만약 실패시, 에러코드와 에러내용을 반환하고싶은데요.
에러내용은 제가 '에러입니다' 이런식으로 직접넣어서 반환하고싶습니다.
asp.net에 적용시킬건데
처음해봐 그런지 참 어렵네요.. 도움좀 많이 주셨으면 좋겠어요 ㅠㅠ
감사합니다..
일단 간단한 레이아웃은
테이블 : TEST_T
필드 : USER_ID, -- PK
USER_NM, -- NN
CONTENT,
이구요.
아래는 테스트 해보려고, 간단히 아이디와 이름 넣는 프로시저작성한것이구요.
ALTER PROC SP_TEST001
@userid varchar(20),
@usernm varchar(20),
@content varchar(200),
@mail varchar(100)
As
DECLARE @err int;
INSERT INTO test_bae
VALUES (@userid, @usernm, @content, @mail);
SELECT @err = @@ERROR;
IF @err > 0
BEGIN
PRINT '###### INSERT ERROR [ ' + @userid+ ' ]#######'
END
RETURN @err;
GO
이런식으로 작성했고,
만약 ID가 중복되거나 INSERT시 에러가 뜬다면 ,
에러코드와, 제가 따로지정한 에러메세지를 반환시키고 싶습니다.
ASP.NET에 적용시키려고하고요 .
처음입니다..
Comment 1
-
知音
2017.07.03 15:51
procedure 선언부에 에러코드와 에레메시지를 out으로 선언하시면 됩니다.
CREATE PROCEDURE SP_TEST001 @err in out, @err_msg varchar(255) out
as
.....
end