How to activate trigger by taking any input from user?

I have a trigger that works only for specific input and command from the user, however I want it to work for any user input that is available in the database

--Server part :

alter trigger ProductInsteadOfDelete on Products

instead of delete

as

declare @ProductName nvarchar(max)

update Products

set Discontinued = 1 where ProductName = @ProductName

--Client part :

delete from Products where productName = 'Psi-Blade'

This does not work unless I change set statement into this :

`set Discontinued = 1 where ProductName = 'Psi-Blade'

and then run the Client part

delete from Products where productName = 'Psi-Blade'

it works only for 'Psi-Blade'

However I want it to work for any @ProductName input that is available in database(of course).

Doing set Discontinued = 1 where ProductName = @ProductName is not working.


SET ANSI_NULLS ON;
SET QUOTED_IDENTIFIER ON;
GO
ALTER TRIGGER dbo.ProductInsteadOfDelete ON Products
INSTEAD OF DELETE
AS
SET NOCOUNT ON;
UPDATE P
SET Discontinued = 1 
FROM dbo.Products P
INNER JOIN deleted d ON d.ProductName = P.ProductName
GO