Passer la valeur par défaut au paramètre Table Valued – SQL Server

J'utilise un paramètre table dans une de nos procédures stockées. Voici la syntaxe que j'ai utilisée:

@dissortingctlist NumericList readonly 

( NumericList est le type de table défini par l'user).

Cependant, en tant qu'exigence, j'ai besoin de passer des valeurs par défaut à ce paramètre de valeur de table.

 @dissortingctlist NumericList = 0 readonly 

Mais le code ci-dessus renvoie une erreur de syntaxe. Est-il possible de transmettre la valeur par défaut à un paramètre de table évalué? Quelqu'un pourrait-il m'aider à ce sujet?

Vous pouvez choisir de ne pas passer le paramètre, même si aucune valeur par défaut n'est définie pour celui-ci. Par exemple:

 CREATE TYPE TestTable AS TABLE (my_id INT) GO CREATE PROCEDURE dbo.Test_TVP @my_table TestTable READONLY, @my_int INT AS BEGIN SELECT * FROM @my_table END GO EXEC dbo.Test_TVP @my_int = 2 GO DROP PROCEDURE dbo.Test_TVP DROP TYPE TestTable 

Dans ce cas, la table sera simplement vide. Si vous vouliez un certain nombre de lignes par défaut, vous devrez simuler cela dans la procédure stockée, probablement en utilisant une table temporaire car les parameters table doivent être READONLY .

Vous pouvez passer le TVP par défaut:

 EXEC dbo.Test_TVP @my_table = default 

Quel est l'équivalent d'une table vide.