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
Ce que j'essaie de faire est d'ajouter un email de travail des employés à primaryemail. Mais s'ils ont déjà un e-mail personnel, je veux d'abord le déplacer vers le secondaire. Mais seulement pour l'employé spécifié d'où le PersonID.Lutte avec l'instruction IF SQL Débutant
J'ai regardé beaucoup d'exemples différents en utilisant CASE et IF-THEN. Je pense que j'ajoute trop à la déclaration. Je pensais vraiment que Stackoverflow queston aiderait. Je sais que ça va être la syntaxe ou comment elle est structurée.
Quel est exactement votre question? Vous voulez juste nettoyer un peu votre déclaration? –
Montrez-nous quelques exemples de données de ligne avant et après. Il est hautement improbable que vous ayez besoin d'une construction en boucle ou si/sinon. –
Je suppose que vous faites une boucle au-dessus de ce code où vous définissez la valeur des variables '@ personID' et' @ email', correct? Pouvez-vous poster le reste du code? Je suis assez sûr que cela peut être simplifié et une approche basée sur un ensemble peut être utilisée, car actuellement ce n'est pas un très bon usage de SQL (je suis enclin à dire qu'il est en fait 'T-SQL' /' SQL Server' , n'est pas 'il?) –