2012-11-16 2 views
0

나는이 종류의 SSIS OLEDB 소스에서 달성하려고합니다.조건부로 데이터 삽입; 하위 쿼리와 문제

1 ) '데이터 없음'쓸 예외 테이블 2) 예외가있는 경우, 그렇지 않은 경우 데이터가) 시트 3를 능가하는 기록의 레코드 카운트는

나는 일에 대한 간단한 쿼리를 작성 이 있지만 오류가 발생합니다. 메시지 116, 수준 16, 상태 1, 줄 3 EXISTS 함께 하위 쿼리를 도입 할 때 선택 목록에서 하나의 식만 지정할 수 있습니다.

SELECT CASE WHEN (SELECT COUNT(*) FROM exceptionTable) > 0 THEN 
(SELECT * FROM exceptionTable) ELSE 'No Error data available' end 

나는 오류 메시지가 말씀을 이해하고 그것을 해결하는 방법을 알고,하지만 난이 문제에 대한 대안 솔루션을 생각하지 못할. 어떤 도움을 주시면 감사하겠습니다. 감사.

+0

그리고 거기에 레코드가 있으면 예외 테이블 BTW의 모든 열을 반환해야합니다. – rvphx

답변

1

EXISTS 키워드를 사용하여이 문제를 처리 할 수 ​​있어야합니다. 이 라인을 따라 뭔가 트릭을 수행해야합니다

if exists(select * from exceptionTable) 
    select * from exceptionTable 
else 
    select 'No Error data available' 

키워드는 하위 쿼리에 의해 반환 된 모든 행의 존재 여부를 테스트하는 데 사용할 수있는 하위 쿼리를 지정 존재한다. 리턴 된 행이 없으면 거짓으로 평가되고 ELSE 절이 실행됩니다.