Vous devez utiliser des tables de hachage (#), que vous recherchez réellement car la valeur des variables restera jusqu'à cette exécution. par exemple. -
declare @TEMP table (ID int, Name varchar(max))
insert into @temp SELECT ID, Name FROM Table
Lorsque deux instructions ci-dessus et deux ci-dessous s'exécutent séparément. L'erreur s'affichera car la valeur de la variable est perdue lorsque vous exécutez le lot de la deuxième requête. Il donne définitivement o/p lorsque vous exécutez un bloc entier de code.
La table de hachage est la meilleure option possible pour stocker et récupérer la valeur temporaire. Cela dure longtemps jusqu'à ce que la session des parents soit en vie.
'SELECT * FROM @TEMP T O WH T.ID = 1' – GriGrim