Utilisation des variables table
Bonjour,
Base SqlServer 2000 et 2005, dans une procédure stockée, je souhaiterais (si possible) utiliser une variable table de la même façon qu'une table temporaire
Voici mon code :
SELECT CodeVehicule
INTO #Temp1
FROM VehVehicule
--
DECLARE @VehDerniereIntervention TABLE (sVehiculeCode VarChar(10), dDerniereInterventionVeh DateTime)
--
-- Derniere intervention des véhicule
INSERT INTO @VehDerniereIntervention
SELECT sVehiculeCode, Max(dInterventionVeh) As dDerniereInterventionVeh
FROM VehIntervention
INNER JOIN #Temp1 ON VehIntervention.sVehiculeCode = #Temp1.CodeVehicule
GROUP BY sVehiculeCode
--
select * from @VehDerniereIntervention
--
-- Véhicule / Intervention -> dernier compteur pour le véhicule
SELECT DISTINCT CodeVehicule, dDerniereInterventionVeh, iInterventionVehCompteur
FROM VehIntervention
INNER JOIN #Temp1 ON VehIntervention.sVehiculeCode = #Temp1.CodeVehicule
INNER JOIN @VehDerniereIntervention ON VehIntervention.sVehiculeCode = @VehDerniereIntervention.sVehiculeCode
AND VehIntervention.dInterventionVeh = @VehDerniereIntervention.dDerniereInterventionVeh
ORDER BY CodeVehicule
Le select de ma variable @VehDerniereIntervention fonctionne très bien, c'est dans le second select que cela se gâte. Le résultat est : "La variable '@VehDerniereIntervention' doit être déclarée."
Est ce que cela signifie qu'une variable table ne peut être utilisée comme une table temporaire ? Il est impossible de faire autre chose que travailler sur les données de celle-ci et afficher le résultat ?
Merci de vos réponse.