过程插入语句中不同类型的参数

时间:2016-06-19 21:25:06

标签: sql-server database

我有6个Image类型参数和一个nvarchar但插入语句不起作用。

Alter Procedure [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), (@img2), (@img3),
           (@img4), (@img5), (@img6), (@Lname))
End

错误:

  

INSERT语句中的列少于VALUES子句中指定的值。 VALUES子句中的值数必须与INSERT语句中指定的列数相匹配。

虽然这是一个简单的陈述,但为什么我会收到此错误?

1 个答案:

答案 0 :(得分:4)

您可能需要考虑这样做:

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