J'écris des procs stockés dans SQL Server 2008, et je me demandais si le concept de paramètres d'entrée optionnels est possible ici? Je suppose que je pourrais toujours passer en NULL pour les paramètres que je ne veux pas utiliser, vérifier la valeur dans le proc stocké, puis prendre des choses à partir de là, mais j'étais intéressé si le concept est disponible ici. Merci!paramètres facultatifs dans SQL Server stocké proc?
Répondre
Vous pouvez déclarer comme ceci
CREATE PROCEDURE MyProcName
@Parameter1 INT = 1,
@Parameter2 VARCHAR (100) = 'StringValue',
@Parameter3 VARCHAR (100) = NULL
AS
/* check for the NULL/default value (indicating nothing was passed */
if (@Parameter3 IS NULL)
BEGIN
/* whatever code you desire for a missing parameter*/
INSERT INTO ........
END
/* and use it in the query as so*/
SELECT *
FROM Table
WHERE Column = @Parameter
Oui, c'est le cas. Déclarer paramètre comme si:
@Sort varchar(50) = NULL
Maintenant, vous n'ont même pas passer le paramètre par défaut Il NULL (ou tout ce que vous choisissez de par défaut)..
Vous n'avez même pas besoin du '= NULL' –
Êtes-vous sûr de n'en avoir pas besoin? –
OMG Poneys, si vous n'incluez pas =
Prenez une longue lecture sur le site de Erland, il a une grande information sur les conditions de recherche dynamiques: http://www.sommarskog.se/dyn-search.html –