가 나는 경우 문을 가지고 일하지 않으려는 경우에도이 문제가 발생합니다.업데이트 나는
나는이 작업을 수행하여뿐만 아니라 null을 테스트하기 위해 시도했다 :
UPDATE
Answer
SET
AnswerID = @AnswerID,
AnsweredBy = CASE WHEN @AnsweredBy IS NOT NULL THEN @AnsweredBy END
가 값이없는 한 나는 answeredby
열을 업데이트하지 않으려는 의미.
심지어 내 C# 코드에서 나는 내 저장 프로 시저에 값을 전달하지 :
if (answeredBy.Length > 0)
cmdSelect.Parameters.Add("@AnsweredBy", SqlDbType.VarChar).Value = answeredBy;
을 가치가없는. 그리고 내 SPROC에서 나는 널 (null)로 해당 열 변수를 기본 :
@RunoffAnswerID bigint,
@AnswerID varchar(3)=NULL,
@AnsweredBy varchar(50)=NULL,
그래서 내 질문이 5-10 더 많은 열이 있지만이있는 경우에만 answeredby
를 업데이트하기 때문에, 내 업데이트의 나머지 부분을 수행 할 방법입니다 @AnsweredBy
의 값?
귀하의 문은 모든 단일 레코드를 업데이트하고 있습니다. 그게 맞습니까? 아니면 단일 레코드 만 업데이트해야합니까? *** 모든 *** 레코드가 업데이트되기를 원하지 않으면'WHERE' 절이 필요합니다 ... – MatBailie
문제는 사건 처리 작업이 충족되지 않으면 어떻게해야하는지 알려주지 않는 것입니다 , 그래서 그것은 값을 null로 만듭니다. 아래 답변 중 하나가 효과가 있지만 귀하의 이유가 무엇인지 설명하고 싶습니다. – HLGEM
Dems 나는 전체 쿼리를 게시하지 않았다. – oJM86o