déclarer la variable dans une fonction sql
J'ai une fonction sql et j'ai besoin de déclarer quelques variables dans cette fonction. Veuillez indiquer comment puis-je y parvenir.
Par exemple j'ai besoin de mettre -->
Declare @ClientResult TABLE(
RowIndex int identity(1,1),
SplitText varchar(50)
)
dans le dessous de la fonction.
create FUNCTION [dbo].CLIENT_SHIPPINGREPORTDATA_Function_Test
(
@CLIENTPK_NEW TABLE,
@CGNEEPK TABLE
@type varchar(100)
)
RETURNS TABLE
AS
RETURN
SELECT distinct
OP_PartNum,
OP_PK
FROM Client_whsPallet pallet
Je suis à l'aide de sql server 2005
Grâce
OriginalL'auteur Amit | 2010-11-18
Vous devez vous connecter pour publier un commentaire.
Ce que vous êtes après est un multi-déclaration de la fonction de table
par exemple
C'est différent de votre fonction actuelle qui est appelé un "inline fonction à valeur de table" et vous devez être conscient des différences, car cela pourrait provoquer des problèmes de performances si vous passez à la multi-état. Mon conseil serait d'essayer et d'utiliser inline fonctions à valeur de table dans la mesure du possible. Je vous recommande de vérifier ces articles qui vont dans le détail:
Multi-déclaration de la Fonction à valeur de Table vs Inline Fonction à valeur de Table
http://blogs.msdn.com/b/psssql/archive/2010/10/28/query-performance-and-multi-statement-table-valued-functions.aspx
http://sqlbits.com/Agenda/event6/High_performance_functions/default.aspx
OriginalL'auteur AdaTheDev
Dans SQL Server, vous ne pouvez pas déclarer de variables à l'intérieur d'une fonction table en ligne. Vous aurez besoin de créer un multi-déclaration de la fonction à valeur de table si vous avez vraiment besoin de déclarer les variables. Vous faites quelque chose comme cela:
Ne sachant pas ce que c'est exactement que vous essayez de faire, je voudrais voir si il est enlevé à l'aide d'un multi-déclaration de la fonction si, comme vous le verrez baisse de la performance.
OriginalL'auteur Justin Swartsel
Comparer ces équivalent des exemples de code. Ils montrent que les différences de syntaxe entre en ligne et les instructions multiples fonctions table.
OriginalL'auteur Anthony Faull
Comme suggéré par AdaTheDev vous pouvez créer un multi-fonction pour retourner un tableau à partir d'une fonction.
Sinon, si vous avez besoin de créer une table à l'intérieur de la fonction, vous pouvez créer une nouvelle table temporaire en préfixant son nom avec un #
OriginalL'auteur Ghidello