sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server lagrade procedurparametrar

SQL Server tillåter inte att du skickar parametrar till en procedur som du inte har definierat. Jag tror att det närmaste du kan komma den här typen av design är att använda valfria parametrar som så:

CREATE PROCEDURE GetTaskEvents
    @TaskName varchar(50),
    @ID int = NULL
AS
BEGIN
-- SP Logic
END;

Du skulle behöva inkludera alla möjliga parametrar som du kan använda i definitionen. Då är du fri att ringa proceduren på båda håll:

EXEC GetTaskEvents @TaskName = 'TESTTASK', @ID = 2;
EXEC GetTaskEvents @TaskName = 'TESTTASK'; -- @ID gets NULL here


  1. Visar distinkta värden med aggregat

  2. Lista alla sekvenser i en Postgres db 8.1 med SQL

  3. Flera fall när är med utgång på samma rad

  4. PDO multi infoga uttalande