更新存储过程?

Sur*_*har 0 sql-server

我编写存储过程进行更新.

create procedure sp_videos_updateviews (@videoid varchar(50),@ret int output)
as
   set @ret = update videos set [views]=[views]+1 
   where videoid = @videoid

   if(@ret>1)
   begin
     set @ret=1
   end
   else
   begin
     set @ret=0
   end
Run Code Online (Sandbox Code Playgroud)

但它给出了这样的错误

关键字"update"附近的语法不正确.

Dav*_*d M 6

您不能将变量设置为UPDATE语句.如果您尝试在更新结束时获取行计数,请尝试以下操作:

UPDATE vidoes SET [views] = [views] + 1
WHERE videoid = @videoid
SET @ret = @@ROWCOUNT
Run Code Online (Sandbox Code Playgroud)