CREATE PROC usp_error

 @userid nvarchar(10),

 @name nvarchar(10),

 @birthYear INT = 1900,

 @addr NCHAR(4) = '서울',

 @mobile1 NCHAR(3) = NULL,

 @mobile2 NCHAR(8) = NULL,

 @height smallInt = 180

AS

 DECLARE @err INT;

 INSERT INTO userTbl(userID,name,birthYear,addr,mobile1,mobile2,height)

   VALUES (@userid,@name,@birthYear,@addr,@mobile1,@mobile2,@height);

 SELECT @err = @@ERROR;

 IF @err != 0

 BEGIN

  PRINT  '###' + @name + '을(를) INSERT에실패했습니다. ###'

 END;

 RETURN @err; -- 오류번호를 돌려줌.


------------------------------------------------------------

TRY...CATCH문 이용으로 변경

==>


CREATE PROC usp_tryCatch

 @userid nvarchar(10),

 @name nvarchar(10),

 @birthYear INT = 1900,

 @addr NCHAR(4) = '서울',

 @mobile1 NCHAR(3) = NULL,

 @mobile2 NCHAR(8) = NULL,

 @height smallInt = 180

AS

 DECLARE @err INT;

 BEGIN TRY 

   INSERT INTO 

userTbl(userID,name,birthYear,addr,mobile1,mobile2,height)

   VALUES (@userid, @name, @birthYear, @addr, @mobile1, 

@mobile2, @height)

 END TRY

 

 BEGIN CATCH

  SELECT ERROR_NUMBER()

  SELECT ERROR_MESSAGE()

 END CATCH

'DBMS > MS SQL' 카테고리의 다른 글

저장프로시져 CASE문 예  (0) 2013.05.03
저장프로시져 WHILE문 예  (0) 2013.05.03
SQL server 2005 오류상태파악 함수  (0) 2013.05.03
날짜,시간함수  (0) 2013.05.03
ROUND  (0) 2013.05.03

+ Recent posts