こんにちはスタックオーバーフロー!
ストアド プロシージャに小さな問題があります。SQL の長いテキスト行から単一の電子メール アドレスを削除しようとしていますが、電子メール アドレスが ; で終わる場合があります。そうでない場合もあります。
私のコードはこれです
ALTER PROCEDURE spReports_DeleteSubscriber
@SubscriptionID varchar(50),
@Email varchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Remove email from subscriptions
UPDATE Subscriptions
SET [ExtensionSettings] = REPLACE(CONVERT(nvarchar(max),[ExtensionSettings]),@Email + ';','')
Where SubscriptionID = @SubscriptionID
-- Remove email from descriptions
UPDATE Subscriptions
SET [Description] = REPLACE([Description],@Email + ';','')
Where SubscriptionID = @SubscriptionID
END
GO
REPLACE メソッドを 2 回使用し、; を使用してメール アドレスを 1 回削除する必要があると思いますか? そして一度なし?