if exists(SELECT....)
if <fält> = 0
UPDATE RecipeRate SET Rate=@sRate WHERE UserID=@suser and RecipeID=@sRecipeID
else
INSERT INTO RecipeRate (UserID,RecipeID,Rate) VALUES(@suser,@sRecipeID,@sRate)
END
RETURN
Jag vill att om post finns men ett viss fält är noll (0) (den röda texten) då ska updatesatsen köras annars en INSERT
går det att kolla värde i fältet direkt i SP eller måste jag lägga värdet i en variabel och sedan använda det?
if exists(SELECT....)
if (select fält from tabell) = 0
UPDATE RecipeRate SET Rate=@sRate WHERE UserID=@suser and RecipeID=@sRecipeID
else
INSERT INTO RecipeRate (UserID,RecipeID,Rate) VALUES(@suser,@sRecipeID,@sRate)
END
RETURN
Kommer min if-satser att funka korrekt nudå?
att om posten finns och fält = 0 då uppdaterar vi
att om posten inte finns då blir det en INSERT
?
kommer inte andra if-satsen att "ta över" else?
eller är det bättre att göra såhär:
CREATE PROCEDURE ...
(
...
)
AS
BEGIN
SET NOCOUNT ON
if exists(SELECT....)
if (select fält from tabell) = 0
UPDATE RecipeRate SET Rate=@sRate WHERE UserID=@suser and RecipeID=@sRecipeID
if not exists(SELECT....)
INSERT INTO RecipeRate (UserID,RecipeID,Rate) VALUES(@suser,@sRecipeID,@sRate)