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
Что я пытаюсь сделать, это добавить работу сотрудников электронной почты на primaryemail. Но если у них уже есть личный адрес электронной почты, я хочу сначала перенести это на вторичную почту. Но только для указанного сотрудника, следовательно, PersonID.Struggling with IF statement SQL Beginner
Я рассмотрел множество разных примеров, используя CASE и IF-THEN. Я думаю, что я слишком много добавляю к заявлению. Я действительно думал, что этот Stackoverflow queston поможет. Я знаю, что это будет синтаксис или как он структурирован.
Что именно ваш вопрос? Вы просто хотите немного поправить свое заявление? –
Покажите нам пример данных строки до и после. Очень маловероятно, что вам нужна конструкция цикла или if/else. –
Я предполагаю, что вы делаете цикл над этим кодом, где вы устанавливаете значение переменных '@ personID' и' @ email', правильно? Можете ли вы опубликовать остальную часть кода? Я уверен, что это можно упростить, и можно использовать подход на основе набора, поскольку в настоящее время это не очень хорошее использование SQL (я склонен сказать, что это на самом деле 'T-SQL' /' SQL Server' , isnt 'it?) –