159 votes

Comment supprimer des variables de table dans SQL-Server ? Devrais-je même le faire ?

J'ai une variable de table dans un script (pas une procédure stockée). Deux questions :

  1. Comment supprimer la variable de la table ? Drop Table @varName donne une erreur "Incorrect snytax".
  2. Dois-je toujours faire ça ? J'ai entendu dire que c'était une bonne pratique. Est-ce vraiment nécessaire pour les petits scripts comme celui-ci ?

Voici mon code :

Declare @projectList table(
    name varchar(40) NOT NULL);

Insert Into @projectList
Values ('BCR-00021')

Select *
From @projectList

Drop Table @projectList -- does not work

233voto

Hogan Points 30189

Les variables de table sont automatiquement locales et automatiquement abandonnées - vous n'avez pas à vous en soucier.

32voto

gbn Points 197263

Les variables de table sont tout comme les variables int ou varchar.

Vous n'avez pas besoin de les faire tomber. Ils ont la même portée les règles en tant que variables int ou varchar

La portée d'une variable est la gamme d'instructions Transact-SQL qui peuvent faire référence à la variable. La portée d'une variable s'étend du moment où elle est déclarée jusqu'à la fin du lot ou de la procédure stockée dans laquelle elle est déclarée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X