Met SQL Server kunt u geen parameters doorgeven aan een procedure die u niet hebt gedefinieerd. Ik denk dat je het dichtst bij dit soort ontwerp kunt komen door optionele parameters te gebruiken, zoals:
CREATE PROCEDURE GetTaskEvents
@TaskName varchar(50),
@ID int = NULL
AS
BEGIN
-- SP Logic
END;
U zou elke mogelijke parameter moeten opnemen die u zou kunnen gebruiken in de definitie. Dan bent u vrij om de procedure hoe dan ook te bellen:
EXEC GetTaskEvents @TaskName = 'TESTTASK', @ID = 2;
EXEC GetTaskEvents @TaskName = 'TESTTASK'; -- @ID gets NULL here