Sql 在过程中使用多个参数更新行

Sql 在过程中使用多个参数更新行,sql,sql-server,database,database-design,Sql,Sql Server,Database,Database Design,我的数据库中有一个表,表包含三列ID Images LoginName 我的数据库中有这个存储过程 alter proc dbo.spGetImages @img1 image, @img2 image, @img3 image, @img4 image, @img5 image, @img6 image, @Lname nvarchar(50) as begin insert into ImageData (Images, LoginName)

我的数据库中有一个表,表包含三列ID Images LoginName 我的数据库中有这个存储过程

alter proc dbo.spGetImages
  @img1 image,
  @img2 image,
  @img3 image,
  @img4 image,
  @img5 image,
  @img6 image,
  @Lname nvarchar(50)
  as begin 

   insert into ImageData (Images, LoginName)
   values
    (@img1, @Lname),
    (@img2, @Lname),
    (@img3, @Lname),
    (@img4, @Lname),
    (@img5, @Lname),
    (@img6, @Lname);

end
现在我想更新图片栏,我该怎么做?基本上我想更新图片栏和登录栏我正在尝试这个

Create Procedure spChangePassword
   @Login nvarchar(50), @img1 Image, 
   @img2 Image, 
   @img3 Image, 
   @img4 Image,
   @img5 Image, 
   @img6 Image
As
Begin
    Update ImageData Set Images =(@img1,@Login),
   (@img2,@Login),
   (@img3, @Login),
   (@img3,@Login),
   (@img4,@Login),
   (@img5,@Login),
   (@img6, @Login) 
End
但是查询未执行请帮助

请参阅文档以详细了解如何执行以及为什么执行

    Create Procedure spChangePassword
       @Login nvarchar(50), @img1 Image
    As
    Begin
        Update ImageData Set Images =@img1 where Login=@Login
    End

在UPDATE语句中,为每列指定一个值,以便在满足WHERE子句的条件时使用

UPDATE ImageData
SET (Images = @image1, Login = @Login)
WHERE (some boolean test here);

似乎UPDATE语句的基本语法有误。我建议您在这里阅读相关内容:

updateimagedatasetimages=img1,LoginName=@Login
Update
SQL中的语句根本不是这样工作的。对SQL的任何介绍都将涉及更新语句(以及具有类似结构的
delete
)。您应该改为使用varbinary(max)。我必须承认,过程名spChangePassword接收图像作为参数对我来说毫无意义。