UPDATE dbo.Contact
SET emailMessenger = '63' WHERE personID = @personID
WHILE (SELECT Email FROM Contact WHERE personID = @personID) != @email
BEGIN
IF (SELECT Email FROM Contact WHERE personID = @personID) IS NULL
UPDATE Contact SET Email = @personID WHERE personID = @personID
ELSE IF (SELECT Email FROM Contact WHERE personID = @personID) IS NOT NULL
UPDATE Contact SET SecondaryEmail = email WHERE personID = @personID
UPDATE Contact SET email = @email WHERE personID = @personID
END
내가하려고하는 것은 직원 업무용 전자 메일을 기본 전자 메일에 추가하는 것입니다. 그러나 이미 개인 이메일을 가지고 있다면 먼저 보조 이메일로 옮기고 싶습니다. 그러나 지정된 직원 만 따라서 PersonID.IF 문으로 고생 SQL 초급
저는 CASE와 IF-THEN을 사용하여 여러 가지 다른 예를 살펴 보았습니다. 나는 진술에 너무 많이 추가하고 있다고 생각한다. 정말이 Stackoverflow queston 도움이 될 줄 알았는데. 문법이나 구조가 어떻게되는지 알고 있습니다. 내가 제대로 논리를 다음과 같은거야 경우
정확히 질문은 무엇입니까되지 않은 경우에만 이메일의 내용에 항상 열 이메일에 설정되고, @SecondaryEmail이 설정되어 있습니까? 당신은 진술을 약간 정리하고 싶습니까? –
몇 가지 예제 행 데이터를 표시하십시오. 루프 구조 나 if/else가 필요하지는 않습니다. –
당신이'@ personID'와'@ email' 변수의 값을 설정하고있는이 코드 위에 루프를 돌리고 있다고 가정합니다. 맞습니까? 나머지 코드를 게시 할 수 있습니까? 나는 이것을 단순화 할 수 있고 set-based 접근법을 사용할 수 있다고 확신한다. 왜냐하면 현재 이것은 SQL을 잘 사용하지 않기 때문이다. (나는 실제로'T-SQL' /'SQL Server'라고 말하고자한다. , isnt 'it?) –