如何调试“过程或函数'X'的存储过程错误需要参数'@Y',它没有提供”?
问题描述:
我的脚本如下如何调试“过程或函数'X'的存储过程错误需要参数'@Y',它没有提供”?
ALTER Procedure [dbo].[spSearch_Stock]
(@KeyW varchar(50),
@Empty int)
AS
BEGIN
SET @Empty = (SELECT COUNT(Customer) FROM tbl_Stock)
IF @Empty > 0
SELECT
StockID, Abb, LotNo, InvoiceNo, TeaState, Customer, Broker,
TeaGrade, Pkgs, NetWeight, TotWeight, PriceUSD, CurrencyRate,
TotalAmtUSD, BrokerageUSD
FROM
tbl_Stock
WHERE
(Abb) LIKE '%'[email protected]+'%'
ORDER BY
StockID ASC, Abb ASC
ELSE
SELECT
'null' as StockID, 'null' as Abb, 'null' as LotNo,
'null' as InvoiceNo, 'null' as TeaState, 'null' as Customer,
'null' as Broker, 'null' as TeaGrade, 'null' as Pkgs,
'null' as NetWeight, 'null' as TotWeight,
'null' as PriceUSD, 'null' as CurrencyRate,
'null' as TotalAmtUSD, 'null' as BrokerageUSD
END
我得到这个错误:
Procedure or function 'spSearch_Stock' expects parameter '@Empty', which was not supplied
答
您的存储过程有两个参数,看来你是不及格都..
而且我看你在查询中设置了@Empty
而不考虑值是否通过,所以我建议更改您的存储过程,如下所示:
ALTER Procedure [dbo].[spSearch_Stock]
(@KeyW varchar(50))
AS
BEGIN
Declare @empty int
select @empty = COUNT(Customer) FROM tbl_Stock
-- Body of stored procedure
END
您可能会打电话给您的SP,不通过两个参数。 – TheGameiswar
标记您正在使用的dbms。 (这是产品特定的SQL。) – jarlh
哎呀@marc_s,只需要修复标题 - 你拿出了有用的位,并离开“请帮我一个错误”;-)' – halfer