2014-04-22 1 views
1

내가 저장 프로 시저의 IF 문 부분이있다. 는 왜 IF 문이 선택은 결과를 반환하지 않습니다 경우 보내는 메일을 건너 뛰도록 요구할 때 나에게 빈 이메일을 보내는 계속된다?sp_send_dbmail 보내는 메일을 다음과 같이 SQL

내 NOCOUNT가 ON

+1

. 당신이 개인을 유지하려는 경우 –

+1

후 귀하의 하위 쿼리, 다음, 당신이 확실 일'table_a','table_b','field_a','field_b','table_a.field_b','table_b.field_b' 등 등 – Matt

+0

전화 그 SELECT는 절대 결과를 반환 할 수 없습니까? 프로파일 링 소프트웨어를 dbms에 연결하여 15 분마다 실제로 실행되는 것을 확인해 봤습니까? – DrCopyPaste

답변

2

시도로 설정 - 대신 : 실제 하위 쿼리를 보지 않고 여기라고 할 수있는 정도가 아니다

IF (SELECT COUNT(*) FROM whatever) > 0 
BEGIN 

    --MAIL 

END 
+0

왜'> 1'이 아닌'= 1'입니까? 그 외에 아마 문제가 해결되지 않습니다 또는 당신이 설명 할 수있는 이유는'EXISTS' 블록 "은"(결과가) 존재하지 않는 경우 실행될 수 있습니다 (그 같은 일이 당신의 코드를 사용하여 실행되지 않습니다)에 묻 으면? – DrCopyPaste

+0

@DrCopyPaste 그 점을 지적 해 주셔서 감사합니다. 복사 붙여 넣기의 종류. :) NOCOUNT가 사용되지 않았고 빈 결과 집합이 반환 된 경우 count()는 해당 거짓 긍정을 제거 할 가능성이 높습니다. –

+0

아직도 내가 그 아무것도를 해결할 생각하지 않는다, 대부분 영업 이익의'SELECT'이 결과로 이어질 마십시오 예기치 않은 매개 변수와 함께 호출됩니다, 어떻게 다른 사람이 설명 할 것입니까? – DrCopyPaste