Sql 在过程中使用多个参数更新行
我的数据库中有一个表,表包含三列ID Images LoginName 我的数据库中有这个存储过程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)
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接收图像作为参数对我来说毫无意义。