2012-09-07 5 views
4

내 쿼리에서 메시지 ("데이터베이스에 테이블이 없습니다.")를 인쇄하려고합니다.try, throw 및 catch를 사용하여 오류 처리에서 메시지를 인쇄하는 방법

내 쿼리는 다음과 같습니다

create proc sp_emprecord 
as 
begin 
    select * from employe 
end 

begin try 
    execute sp_emprecord 
end try 

begin catch 
    select 
    error_message() as errormessage, 
    error_number() as erronumber, 
    error_state() as errorstate, 
    error_procedure() as errorprocedure, 
    error_line() as errorline; 
end catch 

답변

8

이 시도 :

create proc sp_emprecord 
as 
begin 
    select * from employe 
end 
go 
begin try 
    execute sp_emprecord 
end try 

begin catch 
    if(ERROR_NUMBER() = 208) 
     RAISERROR ('The table employe is not exist in database', 0, 1) WITH NOWAIT; 
    else 
     select 
     error_message() as errormessage, 
     error_number() as erronumber, 
     error_state() as errorstate, 
     error_procedure() as errorprocedure, 
     error_line() as errorline; 
end catch 
관련 문제