비슷한 질문이 여기에 있습니다.
어쨌든 구문 오류가 발생합니다.
이것은 내 코드입니다.
declare @MyParameter integer
se @MyParameter = Set At Runtime (could be -1 or any value >=1)
SELECT manyfields FROM manyjoinedtables
where
case when @MyParameter> -1 then
(FIELD1 **=** @MyParameter AND ANOTHERFIELD = Value**)**
end -- note: in case @MyParameter = -1 i do not want to add where condition
어쨌든 Management studio는 위의 **로 둘러싸인 2 개의 문자에 빨간색 밑줄을 긋습니다.
왜? 구문 오류는 어디에 있습니까?
이것을 시도하십시오;
DECLARE @MyParameter INT
SET @MyParameter = Set At Runtime (could be -1 or any value >=1)
SELECT manyfields
FROM manyjoinedtables
WHERE
@MyParameter <= -1
OR
(
@MyParameter > -1
AND FIELD1 = MyParameter
AND AnotherField = Value
)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다