J'ai deux fonctions SQLServer2008 définies par l'utilisateur: fn_Top et fn_Nested. Le premier, fn_Top, est structuré de la façon suivante:Fonctions imbriquées définies par l'utilisateur dans tsql. Paramètres passant par les structures INSERT-SELECT
CREATE FUNCTION [dbo].[fn_Top]
RETURNS @Results table (
MyField1 nvarchar(2000),
MyField2 nvarchar(2000)
)
AS
BEGIN
INSERT INTO
@Results
(
MyField1,
MyField2
)
SELECT
item,
(SELECT MyString FROM dbo.fn_Nested(x.MyCounter))
FROM
OtherTable x
RETURN
END
Je voudrais faire une sorte de paramètre dynamique qui passe à la deuxième fonction, fn_Nested, la lecture des valeurs du champ MyCounter numérique dans le tableau uneautretable .
Le fait est, x.MonCounter n'est pas reconnu comme une valeur valide. Tout fonctionne bien, d'un autre côté, si je mets dans fn_Nested un paramètre statique, IE dbo.fn_Nested (17).
Y a-t-il quelqu'un qui peut suggérer une solution de contournement pour résoudre ce problème? Merci d'avance.
Que retourne dbo.fn_Nested()? – sr28
Ou, pour être plus clair, dbo.fn_Nested une fonction scalaire ou table-évalué? – mdisibio