나는 T-SQLSQL 서버 2008 CASE 문은
SELECT CASE @H_CNT
WHEN 2 THEN
@H_VAR_1 = @H_VALUE_1
WHEN 3 THEN
@H_VAR_2 = @H_VALUE_2
END
그러나 위의 문이 인정되지 않고 쇼에서이 같은 유휴 문을 찾고는 SQL 서버 2008
을 사용하고 있습니다 오류. 여기
나는 T-SQLSQL 서버 2008 CASE 문은
SELECT CASE @H_CNT
WHEN 2 THEN
@H_VAR_1 = @H_VALUE_1
WHEN 3 THEN
@H_VAR_2 = @H_VALUE_2
END
그러나 위의 문이 인정되지 않고 쇼에서이 같은 유휴 문을 찾고는 SQL 서버 2008
을 사용하고 있습니다 오류. 여기
SELECT @H_VAR_1 = CASE WHEN @H_CNT = 2 THEN @H_VALUE_1 ELSE @H_VAR_1 END,
@H_VAR_2 = CASE WHEN @H_CNT = 3 THEN @H_VALUE_2 ELSE @H_VAR_2 END
이 기능이 작동하지 않습니까? 왜? –
, 그것은 내 상황에 맞는 답을하지 않습니다 thanks.but 작동 기본적으로 모든 레코드에 대해 한 번 실행되는 if 문이 있습니다. 나는 ecery 레코드에 대해 실행되면 5 천만 개의 레코드를 가지므로 아마 코드를 더 빠르게 만들 수 있습니다. – user3481294
아마도 where 조건을 추가하면됩니다. 그러나 테이블, 예제 데이터 또는 예상 출력 없이는 말하기가 어렵습니다. –
문제 문제는 무엇
는당신이 CASE
문 내에서 할당 할 수 있다는 것입니다. 당신은CASE
문의 결과에서 할당 할 수
SELECT @H_VAR_1 = CASE @H_CNT WHEN 2 THEN @H_VALUE_1 ELSE @H_VAR_1 END,
@H_VAR_2 = CASE @H_CNT WHEN 3 THEN @H_VALUE_2 ELSE @H_VAR_2 END
위대하다, 내가 알고 싶은게 전부다. Roryap – user3481294
'CASE'는 T-SQL에서 ** 표현 ** - 그것은 값 (문자 또는 SQL 변수를) 반환 할 수는 있지만, ** ** 코드 블록을 실행할 수 없습니다 ** –
@ user3481294 오류 메시지를 포함 시키려면 게시물을 편집하십시오. 그러면 문제의 배경을 알리고 다른 사람들이 대답에 집중할 수있게됩니다. –