L'exécution d'une Fonction Table à partir d'une Procédure Stockée avec plusieurs Paramètres de la Table étant passé à travers?

J'ai une procédure stockée qui exécute du code répétitif, j'ai donc décidé de faire le code redondant dans une fonction table. Le problème que je rencontre est:

Msg 137, Level 16, State 1, Procedure Search, Line 98
Must declare the scalar variable "@myTVP".

Un exemple simple de code SQL que j'utilise est:

CREATE TYPE [dbo].textTable_type AS TABLE(
[text] [nvarchar] (36)
)

CREATE FUNCTION dbo.Search_fn
(@myTVP AS textTable_type READONLY)
RETURNS TABLE
AS
RETURN
(   SELECT * from @myTVP    )
GO

CREATE PROCEDURE [dbo].[Search]
@myTVP AS textTable_type READONLY
AS
BEGIN

SELECT * FROM dbo.Search_fn(@myTVP)

END
GO

DECLARE @TVP as textTable_type
INSERT INTO @TVP VALUES ('abc')
INSERT INTO @TVP VALUES ('123')
exec dbo.Search(@myTVP = @TVP)
GO

DROP FUNCTION Search_fn
DROP PROCEDURE Search

Si quelqu'un peut fournir aucune indication, ce serait merveilleux!

(Il y a un couple de plus d'erreurs si vous essayez d'exécuter cet exemple, mais ils proviennent de l'erreur inclus. Le problème est que la procédure stockée de Recherche ne peut pas être créé.

Merci.

OriginalL'auteur Brett | 2010-09-27