J'ai une procédure stockée (SS2k8) avec quelques paramètres table qui seront parfois nuls ou vides. J'ai vu ce post StackOverflow qui dit que les TVP nuls / vides devraient simplement être omis de la liste des paramètres d'appel. Mon problème est que je ne peux pas comprendre comment vérifier la présence de vide ou de null dans la procédure stockée car "IF (@tvp IS NULL)" échoue lors de la création de la procédure avec le message "Doit déclarer la variable scalaire" @tvp "'. Dois-je faire un SELECT COUNT (*) sur le TVP et vérifier zéro?
Extrait de code:
CREATE PROCEDURE [foo] (@tvp [TvpType] READONLY) AS
IF (@tvp IS NOT NULL) -- doesn't work
BEGIN
-- lots of expensive processing
END
ELSE
BEGIN
-- a little bit of cheap processing
END
...