[英]Getting the error in passing parameter to a stored procedure
我有以下存储过程:
ALTER PROCEDURE sp_InsertHashBinMinHash
@Id INT,
@HashBin BIGINT,
@HashTable INT,
@SubFingerprintId BIGINT,
@Seqno INT
AS
INSERT INTO HashBinsMinHash (
HashBin,
HashTable,
Seqno,
SubFingerprintId
) OUTPUT inserted.Id
VALUES
(
@HashBin, @HashTable, @Seqno, @SubFingerprintId
);
当我运行程序时,出现以下错误:
过程或函数sp_insertHashBin需要未提供的参数@Seqno
但是我将4个参数传递给过程
有您的问题: sp_InsertHashBinMinHash
需要5个参数( Id
, HashBin
, HashTable
, SubFingerprintId
和Seqno
)。 您只用4来调用它。因此缺少一个。
我将其重写为
ALTER PROCEDURE sp_InsertHashBinMinHash
@HashBin BIGINT,
@HashTable INT,
@SubFingerprintId BIGINT,
@Seqno INT,
@Id INT OUT
AS
BEGIN
INSERT INTO HashBinsMinHash (
HashBin,
HashTable,
Seqno,
SubFingerprintId
)
VALUES
(
@HashBin, @HashTable, @Seqno, @SubFingerprintId
);
set @Id = SCOPE_IDENTITY();
select @id
END
并且,将值从C#传递到您的过程,并使用适当的Direction属性添加参数@Id。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.