问题
I am trying to set 2 declared variable with case when blocks
Here's my code:
DECLARE @like bit,@dislike bit
if exists
( select *
,@like = (CASE WHEN likeordislike = 1 THEN 'true' ELSE 'false' END)
,@dislike=(CASE WHEN likeordislike = 0 THEN 'true' ELSE 'false' END)
from likeordislike
)
But when I execute query throws errors:
Msg 102, Level 15, State 1, Line 4
Incorrect syntax near '='.
Everything is ok? Couldn't understand
回答1:
if (select count(*) from likeordislike where user = @user and comment_id = @comment_id) = 0
begin
insert into likeordislike etc
end
else
update likeordislike etc
end
来源:https://stackoverflow.com/questions/15935334/sql-case-when-set-variable