iT邦幫忙

0

[MSSQL] try catch

  • 分享至 

  • xImage
  •  
BEGIN TRY  
			select 1/0--故意讓它錯
	END TRY 
 
BEGIN CATCH
	DECLARE @Error_TODAY VARCHAR(1000)	
	PRINT '執行有錯誤:'+ERROR_MESSAGE()
	SET @Error_TODAY='執行有錯誤: ' + ERROR_MESSAGE()
	
	EXEC msdb.dbo.sp_send_dbmail
	@profile_name = 'sqlmail',
	@recipients = 'xxxx@gmail.com',
	@body = @Error_TODAY,
	@subject = 'sys,SP: xxxx  錯誤訊息通知';
END CATCH 

想到可以用的地方:
1.寫在SP裡,如果執行有錯誤,就會通知.
2.排程裡有2支SP
EXEC SP1
EXEC SP2
一般如果SP1執行有錯,就會結束排程,SP2就不會被執行.
但如果在SP1裡做try catch,就錯SP1執行有錯,SP2也能繼續執行


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言