Ho una procedura memorizzata (SS2k8) con un paio di parametri con valori di tabella che a volte saranno nulli o vuoti. Ho visto questo post StackOverflow che dice che i TVP null / vuoti dovrebbero semplicemente essere omessi dall'elenco dei parametri di chiamata. Il mio problema è che non riesco a capire come controllare se la procedura memorizzata è vuota o nulla poiché "IF (@tvp IS NULL)" non riesce alla creazione della procedura con il messaggio "Deve dichiarare la variabile scalare" @tvp "'. Devo fare un SELECT COUNT (*) sul TVP e controllare lo zero?
Estratto di codice:
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
...