2012-10-11 3 views
0

@query parameter의 복수 쿼리를 sp_send_dbmail에 전달하는 방법은 무엇입니까? 예를 들어sp_send_dbmail 오류

:

select count(*) from TableA 
IF count(*)/ @@rowcount = 0 
Exec sp_send_dbmail @profile_name = xx, @recipients = '[email protected]',@subject = 'Test', @body= ' No rows'; 
IF count(*)/ @@rowcount > 0 
Exec sp_send_dbmail @profile_name = xx, @recipients = '[email protected]',@subject = 'Test', 
@body= ' xx rows'; 

나는 오류 메시지를 받고 있지 않다,하지만 첫 번째 선택 문 다음에 중지합니다.

답변

1

select count(*) from TableA을 수행하면 값을 어딘가에 보관하지 않고 쿼리의 결과 만 실행하고 반환합니다. 이것은 if 진술이 발사되지 않는 이유입니다. 나는 SQL 측의 논리 이런 종류의 퍼팅에 대한 몇 가지 예약이 있지만

DECLARE @c AS int 
SET @c = (select count(*) from TableA) 

IF @c = 0 
Exec sp_send_dbmail @profile_name = xx, @recipients = '[email protected]',@subject = 'Test', @body= 'No rows'; 

IF @c > 0 
Exec sp_send_dbmail @profile_name = xx, @recipients = '[email protected]',@subject = 'Test', 
@body= ' xx rows'; 

: 당신이 뭔가를 할 수 있습니다. 그러나 당신이 이것을 어떻게 사용하고 있는지 모르기 때문에 지금 당장은 작동해야합니다.

+0

- 많이 고맙습니다. 그것은 작동합니다. – David