SQL Server tillader dig ikke at videregive parametre til en procedure, som du ikke har defineret. Jeg tror, at det tætteste du kan komme på denne form for design er at bruge valgfrie parametre som f.eks.:
CREATE PROCEDURE GetTaskEvents
@TaskName varchar(50),
@ID int = NULL
AS
BEGIN
-- SP Logic
END;
Du skal inkludere alle mulige parametre, som du måtte bruge i definitionen. Så er du fri til at ringe til proceduren på begge måder:
EXEC GetTaskEvents @TaskName = 'TESTTASK', @ID = 2;
EXEC GetTaskEvents @TaskName = 'TESTTASK'; -- @ID gets NULL here