[英]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.