我有一个存储过程Delete_CreditPayment
,如下所示:
ALTER PROCEDURE [dbo].[Delete_CreditPayment] (@CollectionID nvarchar(50))
AS
BEGIN
UPDATE Acc_CreditDocuments
Set Acc_Status = 3010001
WHERE Acc_DocumentRef = (SELECT Acc_DocumentRef
From Acc_CreditDocuments
WHERE Acc_DocumentNo = @CollectionID);
END
它在 SELECT 语句只有一张发票时有效,Acc_DocumentRef
但如果它有多个值,Microsoft SQL Server 会显示以下错误消息:
消息 512,级别 16,状态 1,第 1 行
子查询返回超过 1 个值。当子查询跟随 =、!=、<、<=、>、>= 或子查询用作表达式时,这是不允许的。该语句已终止。
那么,如何编辑上面的存储过程以接受多个值?任何帮助都感激不尽!