Кажется, что логика, которую вы ищете:
IF (@p_nom = '' AND EXISTS(SELECT 1 FROM Prorio WHERE Nom = '')) BEGIN
INSERT INTO dbo.Prorio (Nom,mdp)
VALUES(@p_nom,@p_mdp);
END
ELSE IF @p_nom != '' BEGIN
SET @OutputParam = 2;
END;
Вам нужно будет добавить @OutputParam
к определению вашего SP (как параметр OUTPUT
) и, вероятно, дать ему "лучше"name.
Это похоже на проблему XY
. Логика, которую вы используете, означает, что, если у человека есть пустое (''
) имя, он может быть вставлен только , если другие строки в таблице уже имеют пустое (''
)) имя. Это кажется недостатком дизайна.