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
が 1 つしかない場合は機能しますが、値が複数ある場合、Microsoft SQL Server は次のエラー メッセージを表示します。
メッセージ 512、レベル 16、状態 1、行 1
サブクエリが複数の値を返しました。サブクエリが =、!=、<、<=、>、>= の後にある場合、またはサブクエリが式として使用されている場合、これは許可されません。ステートメントは終了されました。
では、上記のストアド プロシージャを編集して複数の値を受け入れるにはどうすればよいでしょうか。どんな助けでも大歓迎です!