J'utilise SQL Server 2016. Je souhaite écrire une fonction qui prend une table en paramètre et effectue ensuite une jointure sur cette table avec une autre table. J'ai déclaré le type:Fonction table prenant la table en paramètre et effectuant la jointure
CREATE TYPE WorklistTable AS TABLE (WorklistId int NOT NULL)
Puis-je utiliser dans beaucoup de fonctions qui ne sélectionne en fonction de certaines conditions
CREATE FUNCTION [dbo].[fnGetSomeData] (
@WorklistIds WorklistTable readonly
)
RETURNS TABLE
AS RETURN
(
select WorklistId, wlu.UserId
from @WorklistIds
join [dbo].[WorklistUser] wlu on wlu.WorklistId = @WorklistIds.worklistId
-- the rest is omitted
);
Je reçois l'erreur suivante:
Must declare the scalar variable "@WorklistIds".
J'ai essayé de déclarer la variable, mais je suis une erreur:
The variable name '@WorklistIds' has already been declared. Variable names must be unique within a query batch or stored procedure.
Merci. Travaillé comme un charme. Je vais accepter votre réponse. – Dido